首页 > 解决方案 > 在 Android 上使用带有字幕的 CastPlayer

问题描述

我正在尝试使用 MediaItem 类加载视频并在 exoplayer2 CastPlayer 上显示字幕。我可以在投射之前在手机上看到字幕,并且在使用 application/dash+xml 格式投射到电视时视频播放良好。但是,我无法弄清楚如何让字幕出现在电视上。我使用 MediaItem.Builder().setSubtitles(subtitleList) 添加了 MediaItem.Subtitle。以前我可以使用已弃用的 MediaInfo 类来做到这一点。我看不到 CastPlayer 类中的任何方法来打开它们或如何自定义 PlayerControlView 以添加字幕/标题按钮。任何想法都非常感谢。

List<MediaItem.Subtitle> subtitleList = new ArrayList<>();
      MediaItem.Subtitle externalSubtitle = new MediaItem.Subtitle(Uri.parse(url), MimeTypes.TEXT_VTT,"en", C.SELECTION_FLAG_DEFAULT, C.ROLE_FLAG_SUBTITLE, "ENGLISH-EXTERNAL");
    subtitleList.add(externalSubtitle);
   
MediaItem mediaItem =   new MediaItem.Builder()
                .setUri(url)
                .setMediaMetadata(mediaMetadata)
                .setMimeType(mimeType)
                .setSubtitles(subtitleList)
                .build();

castPlayer.setMediaItem(mMediaItem);

标签: androidchromecastexoplayercaptionsubtitle

解决方案


推荐阅读