2013-07-10 22 views
0

我已經從字面上嘗試了一切,但我無法讓我的SubRip字幕在Vitamio中工作。是否可能是因爲流式視頻不支持字幕?我想知道。英文Vitamio支持很糟糕。如何在Vitamio中啓用字幕(SRT)支持?

下面是我想出:

public class StreamVideoActivity extends FragmentActivity implements OnSubtitleUpdateListener { 
     //Variables 
     VideoView streamingVideo; 
     TextView subtitleText; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_stream_video); 

      subtitleText = (TextView) findViewById(R.id.subText); 
      streamingVideo = (VideoView) findViewById(R.id.videoView); 

      //BLABLABLABLA 

      streamingVideo.setVideoPath(fileUrl); 
      streamingVideo.setVideoQuality(MediaPlayer.VIDEOQUALITY_HIGH); 
      streamingVideo.setMediaController(mediaController); 
      streamingVideo.setBufferSize(512); 
      streamingVideo.setOnPreparedListener(new OnPreparedListener(){ 

       @Override 
       public void onPrepared(MediaPlayer arg0) { 
        streamingVideo.setSubPath(subtitleFile.getPath()); 
        streamingVideo.setSubShown(true); 
        streamingVideo.setSubEncoding(null); 
        streamingVideo.setSubTrack(MediaPlayer.SUBTITLE_EXTERNAL); 
        streamingVideo.setOnSubtitleUpdateListener(this); 
        streamingVideo.start(); 
       } 
      } 
     } 
     @Override 
     public void onSubtitleUpdate(final String arg0) { 
      if (arg0 != null) { 
       handler.post(new Runnable() { 
        @Override 
        public void run() { 
         subtitleText.setText(arg0); 
        } 
       }); 
      } 
     } 

     @Override 
     public void onSubtitleUpdate(byte[] arg0, int arg1, int arg2) { 
      // TODO Auto-generated method stub 

     } 
    } 
+0

如果你真的嘗試了一切,我不知道如何提供答案...... – njzk2

+0

嗯,我從字面上試圖想到的一切。 –

+0

有什麼症狀?你在'onSubtitleUpdate'上得到了什麼?在另一個'onSubtitleUpdate'上?因爲你沒有指定編碼,所以調用'byte []'的方法而不是帶有字符串的方法是有意義的。我會測試:A /把編碼放在'setSubEncoding'中。 B/Log在'onSubtitleUpdate(byte [] ...')中發生了什麼? – njzk2

回答