gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 03:47:10 25 4
gpt4 key购买 nike

我正在寻找一种方法来接入 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 - 如何获取当前音频输出设备的当前音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com