为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / hyman
哈,这个方法,由于是获得音量等级,由于产生异常不影响整个程序的运行,所以我们直接catch了。

讲师回答 / hyman
首先感谢你对慕课的支持,我详细查看了你贴出的代码,没有发现问题。根据你贴出的异常信息,出错是因为MediaRecorder的状态转移出现的问题,建议你还是根据log排查下,ps:记得使用真机测试。

讲师回答 / hyman
那是单例的一种典型的实现方式,如果不加同步,多线程的时候可能会生成多实例。

讲师回答 / hyman
那怎么会空呢~~记得拿真机测试~~

讲师回答 / hyman
我看你是在release()方法里面抛出的空指针,错误行应该就一个对象mMediaRecorder吧,你看看你是不是cancel还是某个方法里面误把mMediaRecorder置null了。
英文读音 比较奇怪 尤其是 recording

讲师回答 / hyman
注意下导入的包是否正确~
这个不发送源码吗?

讲师回答 / hyman
这里应该是MediaRecorder的状态切换错了,仔细核对代码以及官方给出的状态转移图。

+ 我来回答 回答最高可+2积分
非常喜欢你,技术大牛,声音带有磁性,人工点赞!!!@hyman
有老师的资源图片好多了

讲师回答 / hyman
线程内部设置了while(isRecording),在Up的时候isRecording = false了。当MediaRecorder准备好时,再次开启:<...code...>
课程须知
本课程是基于Android开发的案例,需要大家对Android的了解要达到小成的境界: 1、掌握自定义View的流程与步骤 2、了解MediaPlayer、MediaRecorder相关API 3、了解Dialog相关API
老师告诉你能学到什么?
1、自定义控件如何处理与用户的交互 2、如何创建并动态更新Dialog 3、MediaRecorder的使用,实现录音功能 4、MediaPlayer的使用,实现播放功能 5、多个管理类对象间的交互与协作

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消