2015-02-19 4 views
0

Есть ли способ установить AVAudioSession outputVolume?Swift: настройка AVAudioSession Выходной объем

self.audioSession = AVAudioSession.sharedInstance() 
    self.audioSession.setActive(true, error: nil) 
    self.audioSession.addObserver(self, forKeyPath: "outputVolume", options: NSKeyValueObservingOptions.New, context: nil) 
    self.audioSession.outputVolume 

В настоящее время я могу получить доступ к outputVolume, но у меня возникают проблемы с поиском пути, чтобы установить его.

Спасибо!

ответ

2

Объект outputVolume доступен только для чтения. Это связано с убеждением Apple в том, что хороший пользовательский интерфейс будет нарушен, если приложения неожиданно изменят объем звука, превышающий пользовательский контроль.

Из AVAudioSession документы:

Широкий объем выпуска Система может быть установлена ​​непосредственно только пользователем; обеспечить контроль громкости в вашем приложении, используйте класс MPVolumeView

Так это ваш единственный (простой) вариант ...

MPVolumeView *myVolumeView = 
    [[MPVolumeView alloc] initWithFrame:frame]; 
    [self.view addSubview: myVolumeView]; 
0

Я был в состоянии изменить основной объем с помощью следующих КСН 8

#import <MediaPlayer/MediaPlayer.h> 

[[MPMusicPlayerController applicationMusicPlayer] setVolume:0.0]; 
[[MPMusicPlayerController iPodMusicPlayer] setVolume:0.0]; 

для информации, код называется через Cordoba pluggin. Это влияет на основной том (громкость всплывающего окна устройства показывает новый том при вызове кода)

Смежные вопросы