Letzte Woche haben wir eine Vorabversion des Brightcove-Players 6.22 veröffentlicht. Diese Version enthält einige nützliche API-Änderungen, die für Kunden und Integratoren von Interesse sein könnten.
ERWEITERTE AUTOPLAY-KONFIGURATIONEN
Als Teil der Video.js 7.1.0haben wir die autoplay
Konfiguration leistungsfähiger.
Derzeit kann diese Konfiguration entweder true
oder false
was ähnlich ist wie das Setzen des autoplay
Attribut (oder nicht) auf dem <video>
Element. Wenn es true
wird der Player versuchen, automatisch abzuspielen und, falls der Browser dies verhindert, den so genannten Big Play Button anzeigen.
Es gibt jedoch Fälle, in denen die Kunden die Erfolgschancen von Autoplay verbessern möchten. Die erweiterte autoplay
Konfiguration kann nun mehrere neue String-Werte akzeptieren (zusätzlich zu den bestehenden booleschen Werten).
ANY
Hinzufügen der Konfiguration, {"autoplay": "any"}
veranlasst den Spieler zum Aufruf von play()
über die loadstart
Ereignis. Wenn die Wiedergabe fehlschlägt, schaltet sich der Player stumm und ruft play()
wieder. Wenn die Wiedergabe weiterhin fehlschlägt, wird der vorherige Zustand von muted
wiederhergestellt werden.
Dieser Wert bietet die umfassendste Lösung, wenn die automatische Wiedergabe ohne Stummschaltung bevorzugt wird, aber die automatische Wiedergabe mit Stummschaltung akzeptabel ist.
MUTED
Hinzufügen der Konfiguration, {"autoplay": "muted"}
bewirkt, dass sich der Player selbst stummschaltet und dann die play()
über die loadstart
Ereignis. Wenn die Wiedergabe fehlschlägt, wird der vorherige Zustand von muted
wiederhergestellt werden.
Bei diesem Wert ist die Wahrscheinlichkeit am größten, dass es beim ersten Versuch klappt - wenn die stummgeschaltete Autoplay-Funktion bevorzugt wird.
SPIELEN
Schließlich wird die Konfiguration hinzugefügt, {"autoplay": "play"}
veranlasst den Spieler zum Aufruf von play()
über die loadstart
Veranstaltung.
Dies hat eine ähnliche Chance auf Erfolg wie die Einstellung autoplay: true
.
VERBESSERUNGEN IM KATALOG-PLUGIN
ANMERKUNG: Vorerst werden diese Funktionen nur über die Methoden des Katalog-Plugins verfügbar sein - nicht über die Konfiguration oder data-
Attribute.
STANDARDISIERUNG DER API
Die größte Änderung, die wir am Katalog-Plugin vorgenommen haben, ist Teil der Bemühungen, eine Bibliotheks-API zu standardisieren, die im Laufe der Jahre zu kleineren Inkonsistenzen zwischen ihren Methoden geführt hat.
Kernstück dieser Bemühungen war die Einführung eines gemeinsamen get()
Methode, die für alle Anfragetypen funktioniert und nur ein einziges Argument benötigt: eine herkömmliche Katalogparameter Objekt (unten beschrieben). Die Website get()
Methode gibt eine Promise
Objekt.
Zum Beispiel kann das Abrufen eines Videos mit dem gemeinsamen get()
Methode könnte wie folgt aussehen:
// Request a video from the Playback API.
player.catalog.get({
type: 'video',
id: '123456789',
adConfigId: 'abc123'
})
// The request succeeded, load the video data into the player.
.then(function(data) {
player.catalog.load(data);
})
// The request failed.
.catch(function(err) {
videojs.log.error(err);
});
Darüber hinaus beinhaltet dieser Aufwand rückwärtskompatible Änderungen an den bereits bestehenden Methoden - getVideo
, getPlaylist
, getSearch
, getSequence
und getLazySequence
. Diese Änderungen sind:
getVideo
,getPlaylist
undgetSearch
können nun alternativ zu ihren derzeitigen Implementierungen ein Katalogparameterobjekt als erstes Argument annehmen.- Das dritte Argument für alle Methoden,
adConfigId
ist jetzt veraltet. Verwenden Sie ein Katalogparameter-Objekt mit eineradConfigId
Eigenschaft. - Jede Methode erwartet noch eine zweite
callback
Argument und gibt einXMLHttpRequest
Gegenstand. Wenn einPromise
bevorzugt wird, verwenden Sie die gemeinsameget()
Methode.
Es ist wichtig zu wissen, dass alle diese Änderungen rückwärtskompatibel sind. Kein bestehender Code muss geändert werden!
Zum Beispiel könnte die obige Videoanforderung noch im alten Stil erfolgen:
// Request a video from the Playback API.
player.catalog.getVideo('123456789', function(err, data) {
// The request failed.
if (err) {
return;
}
// The request succeeded, load the video data into the player.
player.catalog.load(data);
}, 'abc123');
KATALOGPARAMETER OBJEKTE
Dies ist eine Konvention, die wir in Zukunft als Grundlage für die Beschreibung von Anforderungen an die Wiedergabe-API vom Brightcove-Player verwenden möchten.
Es wird als erstes Argument für alle get*
Methoden.
Alle Werte sollten Zeichenketten sein.
Name | Beschreibung |
---|---|
type |
Die Art der Anfrage, die gestellt werden soll. Muss eine der folgenden sein 'video' , 'playlist' , oder 'search' . |
accountId |
Die Konto-ID, von der Daten abgerufen werden sollen. Standardmäßig ist dies die Konto-ID des Spielers. |
policyKey |
Der Richtlinienschlüssel für dieses Konto. Standardmäßig ist dies der Richtlinienschlüssel des Players. |
id |
Eine Video- oder Wiedergabelisten-ID oder eine Referenz-ID mit dem Präfix 'ref:' . Erforderlich für Video- und Playlist-Anfragen! |
q |
Eine Suchanfrage. Erforderlich für Suchanfragen (außer wenn id in seiner veralteten Form verwendet wird), für andere ignoriert. |
adConfigId |
A Video könnte SSAI-Anzeigenkonfiguration ID. |
tveToken |
Ein optionales TVE-Token, das als Abfrage-String-Parameter gesendet wird. |
limit |
Wird nur für Wiedergabelisten und Suchtypen unterstützt. Begrenzen Sie die Anzahl der zurückgegebenen Videos. |
offset |
Wird nur für Wiedergabelisten- und Suchtypen unterstützt. Die Anzahl der zu überspringenden Videos. |
sort |
Wird nur für den Suchtyp unterstützt. Wie die Videos für die Suche sortiert werden sollen. |
ANMERKUNG: Aus Gründen der Abwärtskompatibilität gibt es zwei zusätzliche, veraltete Verwendungen der Option id
Parameter. Für Suche Typen, die id
Parameter wird als Suchabfrage unterstützt anstelle von q
. Für Suche Typen und Sequenzen, die id
kann ein Unterobjekt enthalten, das ebenfalls ein Katalogparameterobjekt ist.
LIMIT UND OFFSET DER WIEDERGABELISTE
Als Konsequenz dieser Standardisierung haben wir Unterstützung für limit
und offset
Abfrageparameter für Wiedergabelisten. Dies ermöglicht es Kunden, längere Wiedergabelisten sowie eine Paginierung durch ihre Wiedergabelisten zu implementieren. Diese können in der getPlaylist()
Funktion wie folgt:
// Request a playlist from the Playback API.
player.catalog.getPlaylist({
id: '123456789',
limit: '25',
offset: '0'
}, function(err, data) {
// If there is an error object, the request failed.
if (err) {
return;
}
// The request succeeded, load the playlist data into the player.
player.catalog.load(data);
});
SCHLUSSFOLGERUNG
Wir freuen uns sehr über diese neuen Features in Brightcove Player 6.22. Diese Version befindet sich derzeit im Status der Vorabveröffentlichung, aber wir werden sie bald an alle Player mit automatischer Aktualisierung ausliefern.