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

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

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

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

【问题讨论】:

    标签: android android-mediaplayer subtitle


    【解决方案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路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-09
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多