2015-02-24 103 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上默认不支持。