我有一个WebRTC iOS应用程序。
我有AVAudioSession
和RTCAudioSource
。
我需要检测麦克风何时开始接收响亮的声音(例如当一个人开始讲话时),类似于hark在浏览器中AudioContext所做的事情。
如何检测它或获得类似于可以像AVCaptureAudioChannel
或AVCaptureAudioDataOutput
那样测量的流的内容?
答案 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类来检测音频的灵敏度。