gpt4 book ai didi

android - 如何在 Google Cast 发送器应用程序的 hls 文件上启用字幕

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:52:20 27 4
gpt4 key购买 nike

是否可以从 Google Cast 发送器应用启用字幕?我在我的应用程序中实现了 Google Casthls 流式传输在 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();
}

最佳答案

您没有提到您使用的是什么接收器。在 Default/Styled 接收器中,HLS(通常是自适应流)由 Media Player 库处理。如果它看到支持的轨道,则该信息将在状态更新中发送到连接的设备。然后,发件人应用程序可以了解是否存在其他轨道(及其关联的轨道 ID),然后可以打开或关闭它们。例如,如果您使用 CCL,这将自动为您处理(在发送方):要查看实际效果,请捕获 CastVideos-android-v2(使用 CCL)并拥有两部手机,连接到接收方并开始那里的前三部电影之一(前三部电影有隐藏式字幕)并转到全屏转换 Controller 页面并打开隐藏式字幕并选择文本轨道。然后将第二部手机连接到同一个接收器,你会看到它与接收器上正在播放的内容同步,如果你进入第二部手机上的全屏 Controller ,你会看到它知道隐藏式字幕和启用了什么轨道。

关于android - 如何在 Google Cast 发送器应用程序的 hls 文件上启用字幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38912401/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com