android开发 java.lang.IllegalStateException at android.media.MediaPlayer._prepare(Native Method)
最近遇到一个问题,我在service里面播放一段音乐时遇到了IllegalStateException异常,代码是这样的:
protected void play() {System.out.println("play");mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);try {mpMediaPlayer.prepare();} catch (IllegalStateException e) {e.printStackTrace();}catch (IOException e){e.printStackTrace();}mpMediaPlayer.start();mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//设置重复播放@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {mpMediaPlayer.start();mpMediaPlayer.setLooping(true);}});}
error:
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: java.lang.IllegalStateException
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at android.media.MediaPlayer._prepare(Native Method)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at android.media.MediaPlayer.prepare(MediaPlayer.java:1193)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at com.shangyi.service.SupplierService.play(SupplierService.java:139)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at com.shangyi.service.SupplierService$1.run(SupplierService.java:61)
08-16 14:47:09.822 21109-23341/com.shangyi.supplier W/System.err: at java.lang.Thread.run(Thread.java:833)
虽然也能播放,但是有异常不解决心里不爽,找了原因,说是java里面的mediaplayer对象的状态和native的对象状态不一致,mediaplayer的isPlaying方法引起的,后来改了一下:
protected void play() {System.out.println("play");mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);try {
// mpMediaPlayer.prepare();if(mpMediaPlayer.isPlaying()){mpMediaPlayer.stop();mpMediaPlayer.release();mpMediaPlayer = MediaPlayer.create(this, R.raw.dd);}mpMediaPlayer.start();} catch (IllegalStateException e) {e.printStackTrace();}mpMediaPlayer.start();mpMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {//设置重复播放@Overridepublic void onCompletion(MediaPlayer mediaPlayer) {mpMediaPlayer.start();mpMediaPlayer.setLooping(true);}});}
android开发 java.lang.IllegalStateException at android.media.MediaPlayer._prepare(Native Method)相关推荐
- Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)
使用Mediaplayer播放本地音频,在第二次调用mediaplayer.setDataSource()时报错如下: Caused by: java.lang.IllegalStateExcepti ...
- ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法
ANDROID开发java.lang.NoClassDefFoundError: com.baidu.location.LocationClient的解决办法 java.lang.NoClassDe ...
- [Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常
[Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常 参考文章: ...
- 安卓开发 java.lang.IllegalStateException isPlaying() 解决方案
安卓开发,友盟日志 抛出异常 MediaPlayer : java.lang.IllegalStateException at android.media.MediaPlayer.isPlaying( ...
- 【排错日记】java.lang.IllegalStateException: It is illegal to call this method if the current...
情景:AOP获取请求参数,并转成JSON字符串时抛出 原因: ServletRequest,ServletResponse,MultipartFile不能被序列化,需要排除之后再做序列化. 示例: O ...
- android java.lang.illegalstateexception,Android异常 java.lang.IllegalStateException解决方法
Android异常详情介绍 这种异常我遇到以下两种情况: 1. java.lang.IllegalStateException: No wrapped connection. 2.java.lang. ...
- java.lang.IllegalStateException: Ambiguous mapping found. Cannot map ' ' bean method
问题:springmvc 启动时出现Caused by: java.lang.IllegalStateException: Ambiguous mapping found. Cannot 原因:控制层 ...
- android开发java环境_搭建Android开发环境 - Android - mobile - JavaEye论坛
Android的开发现在是如火如荼,逞现在不是很忙了,学习了下,这里记录下了在windows在如何搭建Android开发环境,对自己是个记录,对新入门的兄弟姐妹们可以参考一下! (1)安装JDK,省略 ...
- Android lottie java.lang.IllegalStateException: Missing values for keyframe
使用Lottie动画的时候,运行发现了此报错,版本为2.4.0,在经过几番的测试后,更改了资源文件和xml里面的配置也不大行. tips:一定要在xml里面配置资源文件,当你把资源文件raw里面的时候 ...
最新文章
- 安卓天天酷跑脚本刷高分图文教程
- Ubuntu14.04下安装wechat(微信)
- R语言可视化分面图、假设检验分组t检验、可视化单变量分组分面箱图(faceting boxplot)并添加p值(Make facet boxplot and add p-values)、添加抖动数据点
- String 和Integer、int之间互转
- mysql 位操作支持
- UCScript——C++集成脚本
- 大小不固定的图片、多行文字的水平垂直居中
- 四川大学2012年数学分析考研试题
- 中国电信:5G 手机可实现不换卡号;新西兰否认禁用华为;Visual Studio 2019 正式发布!| 极客头条...
- sql server 2005练习集(基础)
- 树形$dp$学习笔记
- 每当Xcode升级之后,都会导致原有的Xcode插件不能使用,解决办法
- nginx location总结
- 【数学建模】CUMCM-2010A 储油罐的变位识别与罐容表标定 解题思路整理
- win7电脑蓝屏没有修复计算机,技术编辑教您win7电脑蓝屏怎么办
- android开发塔防游戏机,上手快又耐玩 五款Android平台塔防类游戏推荐
- K8S学习笔记之将Google的gcr.io、k8s.gcr.io 换为国内镜像
- Android动画特效(《安卓群英传》实例)
- 【NOIP模拟】序列
- 互联网早报:阿里巴巴淘菜菜发布“本地菜”计划,直连近300个菠菜种植基地
热门文章
- realsense系列(三):播放深度图和RGB图
- “淘宝” 开放平台接口设计思路
- 关于PCB的机械层和差分布线、RC滤波
- Ucenter的用户注册和登录分析
- photoshop使用“选择并遮住”功能快速扣头发
- 关于spoolsv.exe 报错,并打印服务停止的问题
- Office2016安装报错:1935安装程序集组件发生错误
- AI vs ML:有什么区别?
- 解决服务器80端口占用问题
- python 线程池 concurrent.futures ThreadPoolExecutor