Удаление значка воспроизведения в строке состояния при использовании AVAudioPlayer - PullRequest
0 голосов
/ 17 января 2012

У меня есть приложение для iPhone, которое воспроизводит треки через AVPlayer, и отдельно хочу звуки нажатия кнопок.Сначала я использовал AVAudioPlayer для кликов, и это прекрасно работает, за исключением того, что я не хочу, чтобы значок «Воспроизведение» в строке состояния появлялся каждый раз, когда пользователь нажимает кнопку и воспроизводится образец клика.

Я повернулсямое внимание на системные звуки, которые я прочитал, имеет ограничения в том, что вы не можете напрямую установить громкость.Однако я наблюдаю странное поведение громкости, которое заставляет меня задуматься, могу ли я:

NSURL *clickURL = [[NSBundle mainBundle] URLForResource:@"click" withExtension:@"wav"];
SystemSoundID clickSoundID;
AudioServicesCreateSystemSoundID((CFURLRef)clickURL, &clickSoundID);    
AudioServicesPlaySystemSound(clickSoundID);

Если я нажимаю кнопку перед воспроизведением дорожки, громкость устанавливается на громкость звонка телефона.Тем не менее, после воспроизведения дорожки с помощью AVPlayer громкость устанавливается на громкость проигрывателя (как мне хотелось бы).

Любые идеи о том, как заставить образец System Sound брать уровень громкости приложения, независимо отесли AVPlayer был в действии первым?В качестве альтернативы есть способ отключить уведомления значок воспроизведения в строке состояния?

1 Ответ

1 голос
/ 18 января 2012

Вам необходимо установить правильный AVAudioSession. Я думаю, что есть один соло ambient, который не выполняет кнопку воспроизведения. Не могу быть более подробным в данный момент, потому что я на своем телефоне. (исправлю позже с более полным описанием)

...