繁体   English   中英

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

[英]Android how to add subtitles to Media Player

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

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

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

是的,有在视频播放器中添加字幕的方法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 路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM