В iOS приложении из-за упоминаемого здесь бага 17292753 невозможно уменьшить громкость воспроизведения аппаратными кнопками до нуля. Чтобы заглушить звук при воспроизведении, начиная со сборки 2.6.26б добавлены методы
Code Block |
---|
|
[[FPWCSApi2 getAudioManager] muteAudio]; |
для отключения и
Code Block |
---|
|
[[FPWCSApi2 getAudioManager] unmuteAudio]; |
для восстановления звука.
Чтобы обойти баг и позволить отключать звук аппаратными кнопками, необходимо подписаться на события изменения громкости (code)
Code Block |
---|
|
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil]; |
и при снижении уровня, возвращаемого кнопками, до определенного значения отключать звук, а при превышении - включать (code)
Code Block |
---|
|
- (void)volumeChanged:(NSNotification *)notification
{
float volume =
[[[notification userInfo]
objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
floatValue];
currentVolume = volume;
if (volume <= 0.0625) {
[[FPWCSApi2 getAudioManager] muteAudio];
} else {
[[FPWCSApi2 getAudioManager] unmuteAudio];
}
} |