我有一个 WebRTC iOS 应用程序。
在那里我有AVAudioSession
and RTCAudioSource
。
我需要检测麦克风何时开始接收响亮的声音(例如当一个人开始说话时),类似于hark https://github.com/otalk/hark在浏览器中执行音频上下文 https://developer.mozilla.org/en-US/docs/Web/API/AudioContext。
我怎样才能检测到它或得到类似于可以测量的流的东西AVCaptureAudioChannel
or AVCaptureAudioDataOutput
?
使用后AVAudioSession
要请求录制音频的许可,我建议使用AVAudioRecorder。这是一个相当简单的类,简单如下:
- 创建一个实例
AVAudioRecorder
- 调用方法
prepareToRecord
在实例上
- 使用方法开启声音计量功能
meteringEnabled
开启录音后,可以访问录音音量测量使用该方法averagePowerForChannel:
.
您可能想阅读苹果的文档 https://developer.apple.com/documentation/avfoundation/avaudiorecorder?language=objc
~~~~~~~~~~~~~~~~~~~~~~~~N O T E
~~~~~~~~~~~~~~~~~~~~~~~~
我不熟悉 WebRTC 框架/功能,但是AVA录音机课程将为您提供以下能力:measure录音期间的音频输入。
~~~~~~~~~~~~~~~~~~~~~~S A M P L E
~~~~~~~~~~~~~~~~~~~~~~
我已经包含了 GitHub示例项目 https://github.com/picciano/iOS-Audio-Recoginzer/blob/master/ARAudioRecognizer.m我过去用过的。它被设置为使用我所描述的 AVAudioRecorder 类来检测音频的灵敏度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)