Javascript 默认接收器上的Chromecast WebVTT字幕

Javascript 默认接收器上的Chromecast WebVTT字幕,javascript,google-chrome,chromecast,subtitle,webvtt,Javascript,Google Chrome,Chromecast,Subtitle,Webvtt,因此,我正在尝试使用默认的chrome sender应用程序为chromecast设置闭路字幕,根据文档,这应该是可能的。 我不明白为什么我的代码不起作用。它与提供的示例代码几乎相同。 snipper可能无法工作,因为它太沙盒了,请在普通html页面中查看: 首先应使用顶部按钮连接chromecast,然后单击加载视频 我的代码: var suburl=https://cors-anywhere.herokuapp.com/brenopolanski.com/html5-video-webvtt

因此,我正在尝试使用默认的chrome sender应用程序为chromecast设置闭路字幕,根据文档,这应该是可能的。 我不明白为什么我的代码不起作用。它与提供的示例代码几乎相同。 snipper可能无法工作,因为它太沙盒了,请在普通html页面中查看: 首先应使用顶部按钮连接chromecast,然后单击加载视频

我的代码: var suburl=https://cors-anywhere.herokuapp.com/brenopolanski.com/html5-video-webvtt-example/MIB2-subtitles-pt-BR.vtt'; var mediaurl=https://cors-anywhere.herokuapp.com/www.w3schools.com/html/mov_bbb.mp4'; var mediaInfo; 窗口[''可用']=功能可用{ 如果可以的话{ 初始化为STAPI; } }; initializeCastApi=函数{ cast.framework.CastContext.getInstance.setOptions{ 收款人申请编号: chrome.cast.media.DEFAULT\u media\u RECEIVER\u APP\u ID }; var englishSubtitle=new chrome.cast.media.Track1,//曲目ID chrome.cast.media.TrackType.TEXT; englishSubtitle.trackContentId=子URL; englishSubtitle.trackContentType='text/vtt'; englishSubtitle.subtype=chrome.cast.media.TextTrackType.SUBTITLES; englishSubtitle.name='English Subtitles'; 英语subtitle.language='en-US'; englishSubtitle.customData=null; mediaInfo=new chrome.cast.media.MediaInfoURL; var textTrackStyle=new chrome.cast.media.textTrackStyle; textTrackStyle.foregroundColor='80FF0000'; mediaInfo.contentType='video/mp4'; mediaInfo.metadata=new chrome.cast.media.GenericMediaMetadata; mediaInfo.customData=null; mediaInfo.streamType=chrome.cast.media.streamType.BUFFERED; mediaInfo.textTrackStyle=textTrackStyle mediaInfo.duration=null; mediaInfo.tracks=[englishSubtitle]; mediaInfo.activeTrackIds=[1]; }; 函数加载视频{ var castSession=cast.framework.CastContext.getInstance.getCurrentSession; var request=new chrome.cast.media.LoadRequestmediaInfo; castSession.loadMediarequest.then 函数{console.log'Load success';}, functionerrorCode{console.log'错误代码:'+errorCode;}; } .cast按钮、.load按钮{ 最大宽度:50px; 最大高度:50px; } 样品铬铸 加载视频
在进行了大量的搜索之后,我仍然无法确定确切的问题。然而,我偶然发现了这个支持字幕的ChromeCast SDK的惊人包装:

包括此演示:


希望这能帮助别人

适用于一个简单的场景:保存服务器中的文件;每个源上的CORS头。字幕在单独的WebVTT流中。不做任何超出这个范围的繁重工作。