我一直在试图让MediaPlayer类尝试在Android 2.1上播放h.264编码的视频.我的代码很简单:
AssetFileDescriptor fileDescriptor = getResources().openRawResourceFd(R.raw.my_movie);
introMoviePlayer = new MediaPlayer();
introMoviePlayer.setDataSource(fileDescriptor.getFileDescriptor(), fileDescriptor.getStartOffset(), fileDescriptor.getDeclaredLength());
introMoviePlayer.prepare();
Run Code Online (Sandbox Code Playgroud)
这总是会prepare()在文本中引发异常java.io.IOException: Prepare failed.: status=0x1.我通过使用MediaPlayer.create()一个URI 获得了更多的信息,这个URI也会抛出prepare(),实际上是由MediaPlayer.create()消息引起的Command PLAYER_PREPARE completed with an error or info PVMFErrResourceConfiguration.
相同的代码在Froyo(2.2)中完美运行.视频本身在视频播放器应用中播放得很好.有没有人可能有一个有用的提示可能有助于解决这个问题?
编辑:仍然没有解决方案 - 非常令人沮丧的问题.但是,我发现通过创建VideoView和设置原始视频的URI工作.这非常令人费解,因为通过MediaPlayer类发送完全相同的URI将会抛出.