我找到了一个例子 here , 但它不适用于 ios6.1.3 (iphone 4s)。 总是返回 0.187500
代码:
Float32 volume;
UInt32 dataSize = sizeof(Float32);
AudioSessionInitialize (NULL, NULL, NULL, NULL);
AudioSessionGetProperty (
kAudioSessionProperty_CurrentHardwareOutputVolume,
&dataSize,
&volume
);
NSLog(@"%f", volume);
[AVAudioSession sharedInstance].outputVolume - 也返回 0.187500
最佳答案
您需要初始化 Audio Session :
AudioSessionInitialize (NULL, NULL, NULL, NULL);
在 viewDidLoad
或类似中。
但是,通常最好使用新的 AVAudioSession如果你的目标是 iOS 6+,它会为你处理这个类:
float volume = [AVAudioSession sharedInstance].outputVolume;
关于avfoundation - 如何获得系统卷 iOS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18257199/