首页 文章

播放传输流MediaPlayer android

提问于
浏览
0

我试图使用MediaPlayer播放.ts视频,但似乎没有能力 . @Override public void onSurfaceTextureAvailable(SurfaceTexture surfaceTexture,int i,int i2){Surface surface = new Surface(surfaceTexture);

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的设备上,但我发现这些参考文献http://developer.android.com/guide/appendix/media-formats.html http://developer.android.com/about/versions/android-4.0-highlights.html,如果我在VLC中播放.ts视频,例如,没有问题 .

我在两个设备中测试了相同的代码,一个是带有android 4.0.4的STB,另一个是带有android 4.0.3的平板电脑华硕变压器TF101 . 它在STB中工作但在ASUS变压器中没有 . 有什么区别?

在此先感谢您的时间!感谢任何帮助!

1 回答

  • 0

    问题不在于.ts封装,问题在于视频的编纂 . 它有MPEG-2视频编码,但在Android上默认不支持 .

相关问题