objective-c – 如何获取当前音频输出设备的当前声级?

objective-c – 如何获取当前音频输出设备的当前声级?,第1张

概述我正在寻找一种方法来接入Mac上的当前音频输出,然后返回表示当前声级的值. 声级是指输出产生的噪音量.我不是问如何获得输出设备的当前音量级别. 从 Apple’s Sample AVRecorder中提取以下代码…这个特定的代码位从这个类的movieFileOutput的连接方法中获取一组连接,获取每个连接的AVCaptureAudioChannel,并根据它计算分贝能力.我认为如果您正在寻找输出 我正在寻找一种方法来接入Mac上的当前音频输出,然后返回表示当前声级的值.

声级是指输出产生的噪音量.我不是问如何获得输出设备的当前音量级别.

解决方法 从 Apple’s Sample AVRecorder中提取以下代码…这个特定的代码位从这个类的movIEfileOutput的连接方法中获取一组连接,获取每个连接的AVCaptureAudioChannel,并根据它计算分贝能力.我认为如果您正在寻找输出“噪音水平”,您将能够捕获类似的信息.如果您正在寻找比这更低级别的东西,请尝试HAL(硬件抽象层)框架.

- (voID)updateAudioLevels:(NSTimer *)timer{    NSInteger channelCount = 0;    float decibels = 0.f;    // Sum all of the average power levels and divIDe by the number of channels    for (AVCaptureConnection *connection in [[self movIEfileOutput] connections]) {        for (AVCaptureAudioChannel *audioChannel in [connection audioChannels]) {            decibels += [audioChannel averagePowerLevel];            channelCount += 1;        }    }    decibels /= channelCount;    [[self audioLevelMeter] setfloatValue:(pow(10.f,0.05f * decibels) * 20.0f)];}
总结

以上是内存溢出为你收集整理的objective-c – 如何获取当前音频输出设备的当前声级?全部内容,希望文章能够帮你解决objective-c – 如何获取当前音频输出设备的当前声级?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1015367.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存