2013-09-26 28 views
9

Do tej pory używałem urządzenia MPVolumeView do kontrolowania głośności urządzeń z systemem iOS, które działały dobrze do momentu aktualizacji do iOS7.MPVolumeView nie działa już na urządzeniach z systemem iOS 7

Utworzono projekt testowy (Base SDK 6.1, Deployment Target 5.1), który ma tylko jedną wersję MPVolumeView na pojedynczym UIView. Podczas działania tej aplikacji na moim iPadzie 1 (iOS 5.1) działa dobrze, działając na moim iPhone 5 (iOS 7) nie.

Na moim iPadzie przeciągnięcie suwaka głośności zmienia głośność całego urządzenia. Również kiedy używam przycisków sprzętowych, odzwierciedla to mój suwak w VolumeView. Z drugiej strony na moim iPhonie wydaje się, że nie ma już połączenia między tymi kontrolkami. Przyciski sprzętowe nie powodują żadnych zmian w moim VolumeView, ani nie zmieniają suwaka w wyniku regulacji głośności na poziomie głośności urządzeń.

Potrzebuję mieć np. iPodMusicPlayer coś gra, to działa. W przeciwnym razie nie.

Czy ktoś może sprawić, że znowu zadziała? Naprawdę muszę kontrolować poziom dźwięku całego urządzenia (niekoniecznie programowo, użytkownik musi mieć możliwość zmiany go w mojej aplikacji), a nie tylko poziom dźwięku odtwarzany przez samą aplikację.

Odpowiedz

0

Po długich badaniach dostałem odpowiedź tutaj. Ale nie jestem pewien, spróbuj z tym, jeśli masz jakieś problemy daj mi znać

Zamiast MPVolumeView, można również użyć:

AVAudioPlayer *testPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"m" ofType:@"caf"]] error:nil]; 

    [testPlayer prepareToPlay]; 

przed zainstalowaniem MPVolumeView.

, jeśli Twoja aplikacja korzystająca z trybu Audio sessionAVAudioSessionModeVoiceChat nie zezwala na to, aby MPVolumeView działała również bez obejścia.

Powiązane problemy