Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New pages: HTMLMediaElement API (played and seeking) #37006

Merged
merged 10 commits into from
Jan 7, 2025
45 changes: 45 additions & 0 deletions files/en-us/web/api/htmlmediaelement/played/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: "HTMLMediaElement: played property"
short-title: played
slug: Web/API/HTMLMediaElement/played
page-type: web-api-instance-property
browser-compat: api.HTMLMediaElement.played
---

{{APIRef("HTML DOM")}}

The **`played`** read-only property of the {{domxref("HTMLMediaElement")}} interface indicates the time ranges the resource, an {{htmlelement("audio")}} or {{htmlelement("audio")}} media file, has played. It returns a new {{domxref("TimeRanges")}} object that contains the ranges of the media source that the browser has played, if any, at the time the attribute is evaluated.
estelle marked this conversation as resolved.
Show resolved Hide resolved

## Value

A {{domxref("TimeRanges")}} object, which includes the number of ranges as a `length`, with the `start` and `end` time for each range.
estelle marked this conversation as resolved.
Show resolved Hide resolved
estelle marked this conversation as resolved.
Show resolved Hide resolved

## Examples

```js
const media = document.querySelector("audio");
const playedTimeRanges = media.played;
let timePlayed = 0;
// calculate the total time the media has played
for (let i = 0; i < playedTimeRanges.length; i++) {
timePlayed += playedTimeRanges.end(i) - playedTimeRanges.start(i);
}
console.log(`The media played for a total of ${timePlayed} seconds.`);
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would be great to see this as a live sample.


## Specifications

{{Specifications}}

## Browser compatibility

{{Compat}}

## See also

- {{domxref("HTMLMediaElement.seeked_event", "seeked")}} event
- {{domxref("HTMLMediaElement.progress_event", "progress")}} event
- {{domxref("HTMLMediaElement.seekable")}}
- {{domxref("HTMLMediaElement.buffered")}}
- {{domxref("HTMLVideoElement")}}
- {{domxref("HTMLAudioElement")}}
37 changes: 37 additions & 0 deletions files/en-us/web/api/htmlmediaelement/seeking/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
---
title: "HTMLMediaElement: seeking property"
short-title: seeking
slug: Web/API/HTMLMediaElement/seeking
page-type: web-api-instance-property
browser-compat: api.HTMLMediaElement.seeking
---

{{APIRef("HTML DOM")}}

The readonly **`seeking`** property of the {{domxref("HTMLMediaElement")}} interface is a boolean indicating whether the media, the {{htmlelement("audio")}} or {{htmlelement("audio")}}, is in the process of seeking to a new position.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly the same comments for this paragraph.

estelle marked this conversation as resolved.
Show resolved Hide resolved

## Value

A boolean value.

## Examples

```js
const el = document.querySelector("video");
console.log(el.seeking); // true or false
```

## Specifications

{{Specifications}}

## Browser compatibility

{{Compat}}

## See also

- {{domxref("HTMLMediaElement.seeking_event", "seeking")}} event
- {{domxref("HTMLMediaElement.seeked_event", "seeked")}} event
- {{domxref("HTMLVideoElement")}}
- {{domxref("HTMLAudioElement")}}
Loading