获取系统卷iOS

Jor*_*per 42 audio volume objective-c ios swift

我的情况很简单:我需要发出警告信号,并希望确保用户会听到它,所以我想查看系统音量.

如何找出当前系统的容量?

pap*_*bla 40

音频会话可以提供输出音量(iOS> = 6.0).

    let vol = AVAudioSession.sharedInstance().outputVolume
Run Code Online (Sandbox Code Playgroud)


bor*_*ked 14

试试这个:

    MPMusicPlayerController *iPod = [MPMusicPlayerController iPodMusicPlayer];
    float volumeLevel = iPod.volume;
Run Code Online (Sandbox Code Playgroud)

您需要导入MediaPlayer框架.

  • 不推荐使用,请改用[[AVAudioSession sharedInstance] outputVolume]. (8认同)

小智 13

这很好用:

Float32 volume;
UInt32 dataSize = sizeof(Float32);

AudioSessionGetProperty (
                     kAudioSessionProperty_CurrentHardwareOutputVolume,
                     &dataSize,
                     &volume
                     );
Run Code Online (Sandbox Code Playgroud)

  • 这在iOS 7中已被弃用 - 是否有人知道新方法? (6认同)

Vas*_*vev 12

Swift 3.1

let audioSession = AVAudioSession.sharedInstance()
var volume: Float?
do {
    try audioSession.setActive(true)
    volume = audioSession.outputVolume
} catch {
    print("Error Setting Up Audio Session")
}
Run Code Online (Sandbox Code Playgroud)

audioSession.setActive(true)- 很重要


Das*_*oga 11

对于Swift 2:

let volume = AVAudioSession.sharedInstance().outputVolume   
print("Output volume: \(volume)")
Run Code Online (Sandbox Code Playgroud)


Sur*_*hak 5

您可以使用默认系统的卷视图,然后将其添加到需要的地方。就我而言,我需要在自己的音乐播放器中使用它。简单而轻松。只需添加视图,一切就完成了。在Apple的MPVolume类参考中对此进行了说明。

mpVolumeViewParentView.backgroundColor = [UIColor clearColor];
MPVolumeView *myVolumeView =
[[MPVolumeView alloc] initWithFrame: mpVolumeViewParentView.bounds];
[mpVolumeViewParentView addSubview: myVolumeView];
[myVolumeView release];
Run Code Online (Sandbox Code Playgroud)