小编use*_*553的帖子

如何在mediaplayer中更改字幕

我可以分配一次字幕,但之后如果我试图改变字幕.它不接受新的,它每次显示前一个.

下面的代码我用来改变字幕.

 MediaPlayer mediaPlayer;

    public void changeSubtitle()
    {
    //disable subtitle if it has
    if(textTrackIndex!=0){    
    mediaPlayer.deselectTrack(textTrackIndex);
    textTrackIndex=0;
    mediaPlayer.setOnTimedTextListener(null);
    }

    //try to asssign new subtitle

                mediaPlayer
                        .addTimedTextSource(
                                (Environment.getExternalStorageDirectory()
                                        .getPath()
                                        + "/"+"filename",
                                MediaPlayer.MEDIA_MIMETYPE_TEXT_SUBRIP);
    int textTrackIndex = findTrackIndexFor(TrackInfo.MEDIA_TRACK_TYPE_TIMEDTEXT,mediaPlayer.getTrackInfo());

            if (textTrackIndex >= 0) {
                mediaPlayer.selectTrack(textTrackIndex);
            } else {
                Log.w(TAG, "Cannot find text track!");
            }
            mediaPlayer.setOnTimedTextListener(this);
    }

    private int findTrackIndexFor(int mediaTrackType, TrackInfo[] trackInfo) 
    {
            int index = -1;
            for (int i = 0; i < trackInfo.length; i++) {
                if (trackInfo[i].getTrackType() == mediaTrackType) {
                    return i;
                } …
Run Code Online (Sandbox Code Playgroud)

android subtitle android-mediaplayer

16
推荐指数
1
解决办法
1293
查看次数

标签 统计

android ×1

android-mediaplayer ×1

subtitle ×1