Android mediaplayer 未使用mediaplayer和surfaceview播放视频
我正在尝试使用mediaplayer和surface view播放视频,但它没有播放,我正在这里编写代码。请告诉我代码中的问题是什么?提前谢谢Android mediaplayer 未使用mediaplayer和surfaceview播放视频,android-mediaplayer,Android Mediaplayer,我正在尝试使用mediaplayer和surface view播放视频,但它没有播放,我正在这里编写代码。请告诉我代码中的问题是什么?提前谢谢 ..................................................................................................................................................................................
....................................................................................................................................................................................... 你观察到任何错误吗?当你说不玩时,你的期望是什么,观察到的结果是什么?看看你的代码,我有一个疑问。您是否正在将视频文件传递给
MediaPlayer
?从上面的mediaPlayer.setDataSource(MainActivity.musicPath[no])来源代码>表示您正在传递音乐文件。因此,即使设置曲面,它也不会显示任何内容,因为MediaPlayer
将成为一个简单的MP3
播放器。您能否确认在setDataSource
方法调用中传递视频文件后,您仍然能够观察到问题?我们不能使用mediaplayer播放视频吗?我听说使用mediaplayer可以播放音频和视频,如果我错了,请更正我和mediaplayer.setDataSource(MainActivity.musicPath[no]);我在这里传递视频的路径。在我使用videoview和mediacontroller播放视频之前,它工作正常,但当我尝试使用mediaplayer和surfaceview播放视频时,它没有播放,并显示类似的致命异常。请告诉我代码中有什么错误。。。。。谢谢你advance@user2155454... 是的,你是对的MediaPlayer
可用于播放音频和视频。我只是在检查你是否真的传递了一个视频文件。您可以在观察到错误的地方共享日志吗?这将有助于分析您的问题,并帮助您定位相同的问题。嗨,ganesh,我在这里共享我的日志文件
public class PlayVideoActivity extends Activity implements SurfaceHolder.Callback {
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_video);
Intent intent=getIntent();
int no=intent.getIntExtra("index",0);
Toast.makeText(getBaseContext(),"Hello",Toast.LENGTH_SHORT).show();
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setFixedSize(176, 144);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDisplay(surfaceHolder);
try {
mediaPlayer.setDataSource(MainActivity.musicPath[no]);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
mediaPlayer.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mediaPlayer.start();
}