Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android如何向媒体播放器添加字幕_Android_Android Mediaplayer_Subtitle - Fatal编程技术网

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

Android如何向媒体播放器添加字幕,android,android-mediaplayer,subtitle,Android,Android Mediaplayer,Subtitle,我知道Android中有专门制作视频/音频播放器的类-MediaPlayer 有没有内置的方法可以在播放视频时添加字幕 我查阅了文档,但没有找到字幕的方法。是的,有一种方法可以在视频播放器中添加字幕 范例 这里mediaPlayer是android mediaPlayer类的对象和字幕文件的subtitle src路径 try { mediaPlayer.addTimedTextSource(subTitleSrc, MediaPlayer.MEDIA_MIMETYPE_TEXT_S

我知道Android中有专门制作视频/音频播放器的类-
MediaPlayer

有没有内置的方法可以在播放视频时添加字幕


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

是的,有一种方法可以在视频播放器中添加字幕

  • 范例
这里mediaPlayer是android mediaPlayer类的对象和字幕文件的subtitle src路径

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());
        }
    }
});