MediaPlayer播放在线MP3资源时报出java.io.IOException: Prepare failed.: status=0x1异常
来源:互联网 发布:苹果手机打不开淘宝 编辑:程序博客网 时间:2024/05/18 00:19
前记:有个需求是我要播放在线的mp3音频资源,路径什么都是对的,我把路径放到浏览器,也能正常播放。但是用MediaPlayer播放该在线MP3资源时,在执行mediaPlayer.prepare();时报出
java.io.IOException: Prepare failed.: status=0x1异常
播放资源:
/小学数学3年级应用题/3/audio/OWFhNzg5YzAtMzI3NC00MjllLWI5MmEtYzBiOTUyNDNhYTU2.mp3
原因:
传入mediaPlayer.prepare()中的资源路径不能存在汉字,但是又不能对整个资源路径进行URL编码,整体URL编码仍然报出同样的错误。
解决方案:
用正则表达式挑拣出资源路径中所有的汉字,然后对汉字逐个进行URL编码,然后用编过码的汉字代替资源中的汉字。然后再去播放。问题解决。
代码如下:
String gradeChineseStr = RegularUtils.getChinese(src); String[] arr = new String[gradeChineseStr.length()]; String decodeSrc = src; for(int i = 0; i < gradeChineseStr.length(); i++){ arr[i] = gradeChineseStr.substring(i, i+1); String gradeStr = URLEncoder.encode(arr[i]); decodeSrc = decodeSrc.replace(arr[i],gradeStr); } mediaPlayer.setDataSource(decodeSrc);
正则表达式找出所有的汉字:
/** * 将paramValue中的汉字提取出来 * @param paramValue * @return */ public static String getChinese(String paramValue) { String str = ""; String regex = "([\u4e00-\u9fa5]+)"; Matcher matcher = Pattern.compile(regex).matcher(paramValue); while (matcher.find()) { str += matcher.group(0); } return str; }
0 0
- MediaPlayer播放在线MP3资源时报出java.io.IOException: Prepare failed.: status=0x1异常
- android MediaPlayer java.io.IOException: Prepare failed.: status=0x1 解决
- java.io.IOException: Prepare failed.: status=0x1
- java.io.IOException: Prepare failed.: status=0x1
- java.io.IOException: Prepare failed.: status=0x1 异常解决方法
- java.io.IOException: Prepare failed.: status=0x1异常解决方法
- MediaPlayer播放视频 Prepare failed.: status=0x1
- IOException: Prepare failed.: status=0x1
- android 使用mediaplayer播放报java.io.IOException: setDataSourceFD failed.: status=0x80000000的问题
- Android_MediaPlayer:java.io.IOException: setDataSource failed.: status=0x80000000
- java.io.IOException: setDataSource failed.: status=0x800000
- meidaPlayer java.io.IOException: setDataSource failed.: status=0x800000
- Android - Error: "java.io.IOException: setDataSource failed.: status=0x80000000"
- java.io.IOException: setDataSource failed.: status=0x80000000问题的解决
- 关于VideoView播放本地资源报错:Unable to open content:***;java.io.IOException: setDataSource failed
- hadoop异常 java.io.IOException: Job status not available
- hadoop异常 java.io.IOException: Job status not available
- java.io.IOException: open failed: EACCES (Permission denied)异常解决
- 欢迎使用CSDN-markdown编辑器
- 弱分类器对Haar特征进行分类
- OpenCv+wxwidgets尝试
- parent > child
- 【第2期】量化大咖来了!带你探讨2017年A股套利机会
- MediaPlayer播放在线MP3资源时报出java.io.IOException: Prepare failed.: status=0x1异常
- 第7章 单例模式进阶
- 常见开源分布式存储系统
- Android Http和TCP协议编程
- DTW(Dynamic Time Warping)算法
- windows部署tomcat项目(3)
- POJ 2243 Knight Moves(BFS)
- hibernate入门--实现简单的数据查询
- Kubernetes系列04:深入掌握Pod