问题
Is there a way I can get the current system volume level on the iPhone?
I'm thinking maybe there's a way to make an MPVolumeView and get the value from that.
回答1:
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];
currentVolume = musicPlayer.volume;
This is now deprecated as of iOS8.0 so try the following
#import <AVFoundation/AVAudioSession.h>
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
CGFloat volume = audioSession.outputVolume;
回答2:
Celestial.framework has an AVSystemController class that lets you get and set the current volume. Unfortunately it is a private class so Apple won't accept it in App Store submissions
If it helps, you can abuse the public MPVolumeView class a bit: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html
回答3:
swift 3.0
..
import AVKit
..
// get current level:
let audioSession = AVAudioSession.sharedInstance()
let volume : Float = audioSession.outputVolume
回答4:
Add MediaPlayer Framework into your project
.h (Header file)
{
MPMusicPlayerController *musicPlayer;
}
.m (implementation file)
- (void)viewDidLoad
{
//get device volume level
musicPlayer = [MPMusicPlayerController iPodMusicPlayer];
float deviceVolumeLevel = musicPlayer.volume;
NSLog(@"Current device volume level : %f",deviceVolumeLevel);
}
来源:https://stackoverflow.com/questions/572606/get-current-system-volume-level-on-iphone