【问题标题】:How to get System Volume iOS?如何获得系统卷 iOS?
【发布时间】:2013-08-15 16:30:12
【问题描述】:

我找到了一个示例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

【问题讨论】:

    标签: avfoundation audiotoolbox


    【解决方案1】:

    您需要初始化音频会话:

    AudioSessionInitialize (NULL, NULL, NULL, NULL);
    

    viewDidLoad 或类似的。

    但是,如果您的目标是 iOS 6+,最好使用新的 AVAudioSession 类,它会为您处理这些问题:

    float volume = [AVAudioSession sharedInstance].outputVolume;
    

    【讨论】:

    • 我已经尝试粘贴 AudioSessionInitialize (NULL, NULL, NULL, NULL);,现在总是返回 0.187500,音量已满。
    • [AVAudioSession sharedInstance].outputVolume - 也返回 0.187500
    【解决方案2】:

    浮动音量 = [[AVAudioSession sharedInstance] outputVolume];

    【讨论】:

    • 最好的答案有一些解释和代码。请考虑添加一些上下文。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 2016-05-08
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多