2017-09-14 27 views
6

Używam EPSSampler do grania nut w mojej malutkiej aplikacji na iOS. Działa dobrze, z wyjątkiem tego, że dźwięk jest kontrolowany przez ustawienia dzwonka zamiast ustawień głośności systemu. Problem polega na tym, że jeśli dzwonek jest wyłączony, moja aplikacja nie wydaje dźwięku.Użyj kanału systemowego zamiast kanału dzwonka, gdy używasz EPSSampler w iOS

Najbliższe, jakie mogłem znaleźć, to this SO question, ale nie mogę w pełni przetłumaczyć tego rozwiązania na moje, ponieważ nie mogę go dopasować do kodu EPSSamplera. Jakiś wgląd?

EDIT W celu wyjaśnienia, tylko kod, który dotyczy konkretnie z dźwiękiem jest zawarty w klasie EPSSampler, moja aplikacja zaledwie przypadki to, ładuje ustawienie AUSampler i wzywa metod note-granie w EPSSampler, więc rozwiązanie byłoby Potrzebuję zmienić coś w EPSSampler, a nie w mojej aplikacji - dlatego nie publikuję żadnego kodu źródłowego.

Odpowiedz

4

Okazało się, że to nie miało nic wspólnego z EPSSampler i wszystko z konfigurowaniem sesji audio. Poniższy kod zrobił lewę.

NSError *error = nil; 
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error]; 

To mnie nauczy RTFM.