我找到了一个示例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
答案 0 :(得分:4)
您需要使用以下命令初始化音频会话:
AudioSessionInitialize (NULL, NULL, NULL, NULL);
在viewDidLoad
或类似内容。
但是,如果您的目标是iOS 6+,那么通常最好使用新的AVAudioSession课程,以便为您处理:
float volume = [AVAudioSession sharedInstance].outputVolume;
答案 1 :(得分:4)
float volume = [[AVAudioSession sharedInstance] outputVolume];