получить текущий уровень громкости системы на iPhone - PullRequest
9 голосов
/ 21 февраля 2009

Есть ли способ узнать текущий уровень громкости системы на iPhone?

Я думаю, может быть, есть способ сделать MPVolumeView и получить из этого значение.

Ответы [ 4 ]

25 голосов
/ 24 октября 2011
musicPlayer = [[MPMusicPlayerController iPodMusicPlayer];

currentVolume = musicPlayer.volume;

Это не рекомендуется для iOS8.0, поэтому попробуйте следующее

#import <AVFoundation/AVAudioSession.h>

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
CGFloat volume = audioSession.outputVolume;
2 голосов
/ 24 февраля 2009

Celestial.framework имеет класс AVSystemController, который позволяет вам получать и устанавливать текущий объем. К сожалению, это закрытый класс, поэтому Apple не примет его в представлении App Store

Если это поможет, вы можете немного оскорбить класс MPVolumeView: http://www.stormyprods.com/blogger/2008/09/proper-usage-of-mpvolumeview-class.html

0 голосов
/ 24 февраля 2017

Свифт 3,0

..

import AVKit
..
    // get current level:
    let  audioSession = AVAudioSession.sharedInstance()
    let volume : Float = audioSession.outputVolume
0 голосов
/ 30 августа 2013

Добавьте MediaPlayer Framework в ваш проект

enter image description here

.h (заголовочный файл)

{

  MPMusicPlayerController *musicPlayer; 

}

.m (файл реализации)

- (void)viewDidLoad

{

//get device volume level

   musicPlayer = [MPMusicPlayerController iPodMusicPlayer];

   float deviceVolumeLevel = musicPlayer.volume;

   NSLog(@"Current device volume level : %f",deviceVolumeLevel);
}
...