2016-12-21 6 views
1

Ich habe diesen CodeGoogle Chrome Untertitel nicht funktioniert

var englishSubtitle = new chrome.cast.media.Track(2,chrome.cast.media.TrackType.TEXT); 
englishSubtitle.trackContentId = 'english.vtt'; 
englishSubtitle.trackContentType = 'text/vtt'; 
englishSubtitle.subtype = chrome.cast.media.TextTrackType.CAPTIONS; 
englishSubtitle.name = 'English'; 
englishSubtitle.language = 'en-US'; 
englishSubtitle.customData = null; 
var tracks = englishSubtitle; 

var mediaInfo = new chrome.cast.media.MediaInfo(app.streamState_.manifest); 
mediaInfo.contentType = app.streamState_.type; 
mediaInfo.metadata = new chrome.cast.media.GenericMediaMetadata(); 
mediaInfo.customData = null; 
mediaInfo.streamType = chrome.cast.media.StreamType.BUFFERED; 
mediaInfo.textTrackStyle = new chrome.cast.media.TextTrackStyle(); 
mediaInfo.tracks = tracks; 
mediaInfo.metadata.metadataType = chrome.cast.media.MetadataType.GENERIC; 

var activeTrackIds = [2]; 

var request = new chrome.cast.media.LoadRequest(mediaInfo); 
request.autoplay = true; 
request.currentTime = 0; 
request.activeTrackIds = activeTrackIds; 
session.loadMedia(request,onMediaDiscovered.bind( this, 'loadedMedia'), onMediaError); 

Ich möchte Untertitel auf Chrome zeigen. Wenn ich ActiveTracks auf die Anfrage setzen will, erhalte ich einen Fehler Objekt {code: "session_error", Beschreibung: "INVALID_PARAMS", Details: Objekt} Der Untertitel wird nicht angezeigt und das Video spielt es nicht ab wegen diesem Fehler. Mache ich etwas falsch?

+0

Google werfen Dokumentation => activeTrackIds Array von Nummer Array von Spur trackIds, die aktiv sein soll. Wenn das Array nicht bereitgestellt wird, sind die Standardspuren aktiv. Wenn zwei inkompatible TrackIds bereitgestellt werden (z. B. zwei aktive Audiotracks), schlägt der Befehl mit INVALID_PARAMETER fehl. (https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.LoadRequest) – Fefux

+0

Ich lese die Dokumentation, aber ich kann nicht verstehen, was ich falsch mache. Weil ich ein einzelnes trackid sende, das ist Text –

+0

In der Anleitung ist der Untertyp der Untertitel 'chrome.cast.media.TextTrackType.SUBTITLES' – Fefux

Antwort

0

tracks sollte ein Array sein, wenn Sie

mediaInfo.tracks = tracks; 

In Ihrem Fall setzen, sollten Sie versuchen,

var tracks = [englishSubtitle]; 

und wie es vorhin gesagt, die Verwendung SUBTITLES statt CAPTIONS. Schließlich stellen Sie sicher, dass Sie CORS-Header von Ihrem Webserver haben, auch wenn Sie MP4 verwenden.

+0

Yesss !!! Das hat mein Problem gelöst. Thak du sehr !! –

Verwandte Themen