我正在尝试使用Chromecast sdk将字幕投射到Chromecast设备上。
当前的Cast sdk中似乎存在一个错误,除非我丢失了某些内容。如果字幕轨道的URL以“ .vtt”结尾,并且我尚未设置内容类型,则该轨道将播放正常。如果将内容类型设置为“ text / vtt”,则字幕轨道将永远不会显示在远程设备状态中。
如果对MediaTrack.Builder.setContentType的调用的正确值不是“ text / vtt”,那么 应该是什么?该文档没有说。
我使用以下代码将曲目添加到加载请求:
private RemoteMediaClient.Callback mRemoteMediaClientCallback = new RemoteMediaClient.Callback() {
@Override
public void onStatusUpdated() {
// .... approrpiate null checks... \
List<MediaTracks> tracks =
mRemoteMediaClient.getMediaStatus().getMediaInfo().getMediaTracks();
/* LOOK FOR A TEXT TRACK HERE AND MAKE IT ACTIVE IF PRESENT*/
}
};
然后等待该曲目以远程客户端状态显示,然后再将其设置为活动曲目。
setContentType
在以下情况下,字幕轨道仅显示在设备状态中:
setContentType("text/vtt")
未调用
轨道。(并且从那里开始播放都很完美)。
如果轨道URL的结尾是“ .vtt”,并且已经调用{{1}},或者如果URL的结尾不是“ .vtt”,则永远不会以远程设备状态返回轨道。