2015-02-24 152 views
0

我試圖播放使用MediaPlayer的.ts視頻,但它似乎沒有能力。 (SurfaceTexture surfaceTexture,int i,int i2){ Surface surface = new Surface(surfaceTexture);播放傳輸流媒體播放器android

try { 
mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(this, Uri.parse(URI)); 
mMediaPlayer.setSurface(surface); 
mMediaPlayer.setLooping(true); 
mMediaPlayer.prepareAsync(); 

// Play video when the media source is ready for playback. 
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
@Override 
public void onPrepared(MediaPlayer mediaPlayer) { 
mediaPlayer.start(); 
} 
}); 

} catch (IllegalArgumentException e) { 
Log.d(TAG, e.getMessage()); 
} catch (SecurityException e) { 
Log.d(TAG, e.getMessage()); 
} catch (IllegalStateException e) { 
Log.d(TAG, e.getMessage()); 
} catch (IOException e) { 
Log.d(TAG, e.getMessage()); 
} 
} 

我的測試是在全球的Android 4.0設備,但我發現這些引用 http://developer.android.com/guide/appendix/media-formats.html ​​ ,如果我在VLC播放的.ts視頻,例如,是沒有問題的。

我已經在兩個設備上測試了相同的代碼,一個是安卓4.0.4的STB,另一個是安卓4.0.3的平板華碩變壓器TF101。它在STB中工作,但在ASUS變壓器中不工作。 會有什麼區別?

在此先感謝您的時間! 感謝任何幫助!

回答

0

問題不在於.ts封裝,問題在於編碼視頻。它具有MPEG-2視頻編碼,但在Android上默認不支持。