目前我正在寻找方法来确定音频设备是否可以配置音量。
我尝试使用 kAudioDevicePropertyVolumeRangeDecibels 属性来获取范围,如果最小值和最大值等于确认为不可更改的音量。但不幸的是,我根本无法获得那个价值。
AudioObjectPropertyAddress addr;
addr.mSelector = kAudioDevicePropertyVolumeRangeDecibels;
addr.mScope = kAudioDevicePropertyScopeOutput;
addr.mElement = kAudioDevicePropertyScopeOutput;
UInt32 size;
AudioValueRange range;
OSStatus status = AudioObjectGetPropertyDataSize(self.audioDeviceID, &addr, 0, NULL, &size);
if (status != noErr)
{
NSLog(@"error during size retrieval");
}else {
status = AudioObjectGetPropertyData(self.audioDeviceID, &addr, 0, NULL, &size, &range);
if (status != noErr)
{
NSLog(@"error during value retrieval");
}
}
在尺寸检索过程中我一直出错。(所有其他数据,如音量、通道数等都被正确检索)。
感谢您提供任何解决方案。