MediaPlayer播放视频调用prepare()出错,怎么办呀!!!!!!

adventurous 2012-04-26 06:47:59
我在播放视频的时候,调用prepare有时候会出错,错误log相关如下

04-26 18:49:09.678: W/System.err(32612): java.io.IOException: Prepare failed.: status=0x1
04-26 18:49:09.688: W/System.err(32612): at android.media.MediaPlayer.prepare(Native Method)
04-26 18:49:09.698: E/MediaPlayer(32612): start called in state 0
04-26 18:49:09.698: E/MediaPlayer(32612): error (-38, 0)
04-26 18:49:09.818: E/MediaPlayer(32612): Error (-38,0)
我相关的播放代码如下
if (mMediaPlayer01 == null) {
mMediaPlayer01 = new MediaPlayer();
} else if (mMediaPlayer01 != null && mMediaPlayer01.isPlaying()) {
stopVideo();
mMediaPlayer01 = new MediaPlayer();
}
mMediaPlayer01.setAudioStreamType(AudioManager.STREAM_MUSIC);

/* 设定Video影片以SurfaceHolder播放 */
mMediaPlayer01.setDisplay(mSurfaceHolder01);

try {
File file = new File(strPath);
FileInputStream fis = new FileInputStream(file);
mMediaPlayer01.setDataSource(fis.getFD());
} catch (Exception e) {
e.printStackTrace();
}

try {
mMediaPlayer01.prepare();
} catch (Exception e) {
e.printStackTrace();
}
mMediaPlayer01.start();

停止代码如下
if (mMediaPlayer01 != null && mMediaPlayer01.isPlaying()) {
mMediaPlayer01.stop();
mMediaPlayer01.release();
mMediaPlayer01 = null;
} else if(mMediaPlayer01 != null && !mMediaPlayer01.isPlaying()) {
mMediaPlayer01 = null;
}
...全文
1668 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YuNansen 2014-08-26
  • 打赏
  • 举报
回复
楼主,我也遇到了类似的问题,请问你这个问题解决了吗?
old donkey 2014-02-24
  • 打赏
  • 举报
回复
十有八九是调用isplaying的时候出错了,那个可以catch一下
tianqitaiqi 2012-08-22
  • 打赏
  • 举报
回复
你播放的资源文件正在被占用。你必须确保在MediaPlayer使用它之前。这个资源是被release掉的。
aSysBang 2012-04-27
  • 打赏
  • 举报
回复
测试的文件用自带的Music可以播放吗
adventurous 2012-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

播放跟状态有关系,资源播放(mMediaPlayer01.start())放到自己实现的MediaPlayer.OnPreparedListener中试试。
最好还是看看MediaPlayer的状态图
[/Quote]
还是不行,我今天一点播放然后后台报下面的错,都不能播放了
04-27 11:49:01.271: W/MediaMetadataRetriever(4870): MediaMetadataRetriever server died!
04-27 11:49:01.271: W/IMediaDeathNotifier(4870): media server died
demo_ 2012-04-26
  • 打赏
  • 举报
回复
播放跟状态有关系,资源播放(mMediaPlayer01.start())放到自己实现的MediaPlayer.OnPreparedListener中试试。
最好还是看看MediaPlayer的状态图

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧