就是setdatasource()io异常,但我遇到这个异常的时候我用setErrorListener怎么监听不到呢,在OnCompletionListener中却可以监听到,我是想遇到io异常就播下一个视频文件,循环播放,高手帮帮我啊
解决方案 »
- 黑屏时监听音量键
- android icecream camera record不正常的原因?
- 关于MOtionEvent的函数toString()
- view.layout(int, int, int, int)设置view的大小和位置不成功
- 如何封装一个BUTTON类,从而实现动态添加BUTTON
- (急)安装android开发环境
- inputstream 被读取一次后就被为空
- 求助,我在论坛载了个android的微博程序,貌似需要服务器??
- Android AutoCompleteTextView界面问题
- SeerBar 被分成两部分
- (求救!!)解析xml的getTextContent()方法在android开发中不可以用?
- Android 程序怎么完全退出啊?
//播放器的设置
public void player()
{
if(mMediaPlayer!=null&&mMediaPlayer.isPlaying())
{
mMediaPlayer.stop();
}
mMediaPlayer.reset();
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnCompletionListener(
new MediaPlayer.OnCompletionListener()
{
// @Override
/*覆盖文件播出完毕事件*/
public void onCompletion(MediaPlayer arg0)
{
if(checkIO==0)
{
try
{ video++; //下一个视屏文件
if(video==listVideo.size())
{
video=0;
}
player();
}
catch (Exception e)
{
e.printStackTrace();
}
Toast.makeText(MediaActivity.this,"视频",Toast.LENGTH_LONG).show();
checkError=0;
}else{
}
}
});
/* 当MediaPlayer.OnErrorListener会运行的Listener */
mMediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener()
{
@Override
/*覆盖错误处理事件*/
public boolean onError(MediaPlayer arg0, int arg1, int arg2)
{
// TODO Auto-generated method stub
pro.setExp(arg1+"");
// int i=MediaPlayer.MEDIA_ERROR_SERVER_DIED;
checkPlayer=video;
checkError++; //不可播放文件个数
if(checkError>listVideo.size())
{
if(mMediaPlayer!=null&&mMediaPlayer.isPlaying())
{
mMediaPlayer.stop();
}
Toast.makeText(MediaActivity.this,"无可播放视频文件,请上传可播放视频",Toast.LENGTH_LONG).show();
//checkError=0;
}else
{
Toast.makeText(MediaActivity.this,listVideo.get(checkPlayer)+"视频不能播放,请删除",Toast.LENGTH_SHORT).show();
try
{
video++;
if(video==listVideo.size())
{
video=0;
}
player();
}
catch (Exception e)
{
e.printStackTrace();
}
}
return true;
}
});
try {
mMediaPlayer.setDisplay(surfaceHolder);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setDataSource(path+"/"+listVideo.get(video));
mMediaPlayer.prepareAsync();
} catch (IllegalArgumentException 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();
//checkIO=1;
//checkError++;
Toast.makeText(MediaActivity.this,listVideo.get(video),Toast.LENGTH_SHORT).show();
}
}