Android如何将字幕添加到媒体播放器

Posted

技术标签:

【中文标题】Android如何将字幕添加到媒体播放器【英文标题】:Android how to add subtitles to Media Player 【发布时间】:2017-09-17 17:52:54 【问题描述】:

我知道在 android 中存在用于制作视频\音频播放器的特殊类 - MediaPlayer

是否有任何内置方法可以在播放视频时添加字幕?

我查看了文档,但没有找到字幕的方法。

【问题讨论】:

【参考方案1】:

是的,有在视频播放器中添加字幕的方法addTimedTextSource

示例
try 
    mediaPlayer.addTimedTextSource(subTitleSrc, MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);
 catch (IOException e) 
    e.printStackTrace();



int textTrackIndex = findTrackIndexFor(
        mediaPlayer.getTrackInfo());
Log.i("Subtitle Track index : ", "After add :: " + textTrackIndex);

if (textTrackIndex >= 0) 
    mediaPlayer.selectTrack(textTrackIndex);
 else 
    Log.w("test", "Cannot find text track!");


mediaPlayer.setOnTimedTextListener(new MediaPlayer.OnTimedTextListener() 
    @Override
    public void onTimedText(final MediaPlayer mediaPlayer, final TimedText timedText) 
        if (timedText != null) 
            Log.d("test", "subtitle: " + timedText.getText());
            tv_subtitle.setText(timedText.getText());
        
    
);    

这里的mediaPlayer是android-MediaPlayer类的对象和字幕文件的subTitleSrc路径。

【讨论】:

以上是关于Android如何将字幕添加到媒体播放器的主要内容,如果未能解决你的问题,请参考以下文章

Chromecast - 如何使用 android 为视频添加字幕

android 中使用ffmpeg,将视频加入字幕,用ass文件,在PC上可以,但在Android上一直不行

请问如何在视频编辑中插入动态文字?

如何从隔离存储中打开媒体播放器 WebVTT 字幕

如何将桌面(macOS 和 Windows)的视频播放器添加到颤振中

pr怎么快速添加字幕