[我知道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路径。