在WebRTC for iOS中测量麦克风级别

时间:2017-08-15 12:00:57

标签: ios audio webrtc

我有一个WebRTC iOS应用程序。 我有AVAudioSessionRTCAudioSource。 我需要检测麦克风何时开始接收响亮的声音(例如当一个人开始讲话时),类似于hark在浏览器中AudioContext所做的事情。 如何检测它或获得类似于可以像AVCaptureAudioChannelAVCaptureAudioDataOutput那样测量的流的内容?

1 个答案:

答案 0 :(得分:2)

使用AVAudioSession请求录制音频的权限后,我建议使用 AVAudioRecorder。这是一个相当简单的类,并且简单如下:

  • 创建AVAudioRecorder
  • 的实例
  • 调用实例
  • 上的方法prepareToRecord
  • 使用meteringEnabled
  • 方法启用声音测光功能

启用录制后,您可以使用averagePowerForChannel:方法访问录制音量 测量

您可能需要阅读Apple的documentation

~~~~~~~~~~~~~~~~~~~~~~~ N O T E ~~~~~~~~~~~~~~~~~~~ ~~~~

我不熟悉WebRTC框架/功能,但 AVAudioRecorder 类将为您提供在录制过程中测量音频输入的功能。

~~~~~~~~~~~~~~~~~~~~~~ S A M P L E ~~~~~~~~~~~~~~~~~~~~~ ~~

我已经包含了我过去使用过的GitHub sample project。它设置为使用我所描述的AVAudioRecorder类来检测音频的灵敏度。

相关问题