如何启用字幕从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),有两个手机,连接到接收器,并开始其中的前三部电影(前三部有封闭字幕),并进入全屏播放控制器页面,打开封闭字幕,选择文本轨道。然后将第二台手机连接到同一个接收器上你会看到它与接收器上播放的内容同步如果你进入第二台手机的全屏控制器,你会看到它知道关闭字幕以及启用了什么轨道

相关内容

最新更新