比方说,在sd卡根目录下zijin/single/1.mp4 ,然后播放这个视频,一切正常
但是,如果在sd卡根目录下zijin/test/single/1.mp4,进行播放视频,发现经常报错,进入onError回调方法中,错误代码是100.
比较发现,
其唯一差别,就是视频路径多了一层而已,为什么会这样呢?
难道视频路径的文件夹层数越多,越容易报错?这感觉无法理解啊?
视频播放的代码:
public void playVideo(String imgPath,
final GuildFragment.MyVideoCompletionListener
myVideoCompletionListener) {
if (imgPath == null||"".equals(imgPath)) {
throw new IllegalArgumentException("Uri can not be null");
}
/**设置播放路径**/
setVideoPath(imgPath);
/**开始播放**/
setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});
setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
myVideoCompletionListener.myVideoCompletion("");
mp.release();
mp=null;
return true;
}
});
setOnCompletionListener(new MediaPlayer.OnCompletionListener(){
@Override
public void onCompletion(MediaPlayer mp) {
myVideoCompletionListener.myVideoCompletion("");
mp.release();
mp=null;
}
});
}
应该找到原因了,因为我的视频文件的路径用了特殊符号“横杆”,我现在把横杆改为下划线后,好像就一切正常了。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。