android – 如何从Google Cast发送者应用程序启用hls文件上的字幕

前端之家收集整理的这篇文章主要介绍了android – 如何从Google Cast发送者应用程序启用hls文件上的字幕前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

是否可以从Google Cast发送者应用启用字幕?
我已在我的应用中实施了Google Cast,并且hls流媒体在Chrome Cast上正常运行. hls文件中包含字幕轨道,但字幕未显示.没有.vtt文件可用于视频,因此我无法实现MediaTrack将字幕URL发送到接收器应用程序.
我想知道是否有可能在发送者应用程序的hls流式传输上启用字幕,或者我是否需要为此制作自定义接收器应用程序?

我正在创建MediaInfo对象,它以下列方式发送到接收器应用程序(标准)

private MediaInfo buildMediaInfo() {
        MediaMetadata movieMetadata = new MediaMetadata(MediaMetadata.MEDIA_TYPE_MOVIE);

    movieMetadata.putString(MediaMetadata.KEY_TITLE,mTitle + " (" + mProdYear + ")");
    movieMetadata.putString(MediaMetadata.KEY_SUBTITLE,mFilmType);
    movieMetadata.addImage(new WebImage(Uri.parse(mImageUrl)));

    return new MediaInfo.Builder(mVideoUrl.toString())
            .setStreamType(MediaInfo.STREAM_TYPE_BUFFERED)
            .setContentType("videos/mp4")
            .setMetadata(movieMetadata)
            //enable subtitles on hls streaming??
            .build();
}
最佳答案
你没有提到你正在使用的接收器.在默认/样式接收器中,HLS(一般的自适应流)由媒体播放器库处理.如果它看到支持的曲目,则该信息将在状态更新中发送到连接的设备.然后,发件人应用程序可以了解其他轨道(及其相关的轨道ID)的存在,然后可以打开或关闭它们.例如,如果您使用CCL,这将自动处理(在发送方):要查看实际操作,请抓住CastVideos-android-v2(使用CCL)并拥有两部电话,连接到接收器并启动前三部电影中的一部(前三部分有隐藏式字幕)并转到全屏转换控制器页面并打开隐藏式字幕并选择文本轨道.然后将第二部手机连接到同一个接收器,你会看到它与接收器上播放的内容同步,如果你进入第二部手机的全屏控制器,你会发现它知道隐藏的字幕和什么轨道启用.

猜你在找的Android相关文章