Add "ended" embed API event

pull/2615/head
Chocobozzz 2020-04-08 14:39:31 +02:00
parent b1f3b635ed
commit 96aae68cc4
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
3 changed files with 9 additions and 3 deletions

View File

@ -1,7 +1,7 @@
{
"name": "@peertube/embed-api",
"private": false,
"version": "0.0.1",
"version": "0.0.3",
"description": "API to communicate with the PeerTube player embed",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"

View File

@ -80,7 +80,7 @@ export class PeerTubeEmbedApi {
}
private setupStateTracking () {
let currentState: 'playing' | 'paused' | 'unstarted' = 'unstarted'
let currentState: 'playing' | 'paused' | 'unstarted' | 'ended' = 'unstarted'
setInterval(() => {
const position = this.element.currentTime
@ -106,6 +106,11 @@ export class PeerTubeEmbedApi {
this.channel.notify({ method: 'playbackStatusChange', params: 'paused' })
})
this.element.addEventListener('ended', ev => {
currentState = 'ended'
this.channel.notify({ method: 'playbackStatusChange', params: 'ended' })
})
// PeerTube specific capabilities
if (this.isWebtorrent()) {

View File

@ -123,7 +123,8 @@ Fired every half second to provide the current status of playback. The parameter
}
```
The `volume` field contains the volume from `0` (silent) to `1` (full volume). The `playbackState` can be `playing` or `paused`. More states may be added later.
The `volume` field contains the volume from `0` (silent) to `1` (full volume).
The `playbackState` can be `unstarted`, `playing`, `paused` or `ended`. More states may be added later.
## Event `playbackStatusChange`