Android MediaRecoder实现电话录音,其中出现录制成功但没有声音

最近在处理公司生产的两种话机电话录音,MediaRecoder实现电话录音,其中出现录制成功但没有声音。总结原因如下:




1.选择合适的音源 mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 设置输入流设备为麦克风


2. 输出格式编码格式要合适正确,并且先后顺序不能变。
       mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB); // 设置输出格式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); // 设置编码方式很重要


3. 最大的一个坑注意:在1,2都正确还是没有声音时候,应另起一个线程睡几秒(本人3秒)才开始录制声音,效果ok。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Android中,MediaRecorder是一个用于录制音频和视频的类。它提供了多个音频源参数用于指定录制音频时的声音来源。下面是各个音频源的解释: 1. MediaRecorder.AudioSource.MIC 这是默认的音频源,它使用设备的麦克风录制音频。当你需要录制用户的声音时,可以使用这个音频源。 2. MediaRecorder.AudioSource.CAMCORDER 这个音频源使用相机的麦克风录制音频。当你需要与录制的视频的音频进行同步时,可以使用这个音频源。 3. MediaRecorder.AudioSource.VOICE_RECOGNITION 这个音频源使用设备的麦克风录制音频,但是它会优化录制的音频以便于语音识别。当你需要录制用户的声音并进行语音识别时,可以使用这个音频源。 4. MediaRecorder.AudioSource.VOICE_COMMUNICATION 这个音频源使用设备的麦克风录制音频,但是它会优化录制的音频以便于语音通信。当你需要录制用户的声音并进行语音通信时,可以使用这个音频源。 5. MediaRecorder.AudioSource.REMOTE_SUBMIX 这个音频源录制的是系统的声音,包括来自其他应用程序的声音。当你需要录制系统的声音时,可以使用这个音频源。 6. MediaRecorder.AudioSource.UNPROCESSED 这个音频源使用设备的麦克风录制音频,并提供未经过预处理的原始音频数据。当你需要进行自定义声音处理时,可以使用这个音频源。 以上就是MediaRecorder的音频源参数解释。在使用MediaRecorder录制音频时,你需要根据实际需求选择适合的音频源。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值