Mamy grę, która jest bardzo bliska wydania, ale mamy jeden bardzo irytujący problem. Jeden z naszych telefonów testujących Beta, nie słyszy żadnych efektów dźwiękowych w grze. Może jednak słyszeć muzykę w tle i muzykę z ekranu tytułowego.Czy można mieszać AudioServicesPlaySystemSound i AVAudioPlayer?
Muzyka tła i tytułów są odtwarzane za pomocą AVAudioPlayer (są dłuższe, potrzebna jest regulacja pętli i głośności itp.). Efekty dźwiękowe są po prostu odtwarzane za pomocą AudioServicesPlaySystemSound (są bardzo krótkie, nie potrzebujemy precyzyjnej kontroli ani nie wiemy, kiedy się kończą itp.). Działa to na większości iPhone'ów, ale nie na tym. Wszystko to jest odtwarzane za pomocą sesji audio AVAudioSessionCategorySoloAmbient.
Mam więc dwa pytania: - Po pierwsze, czy jest to dopuszczalne wdrożenie? np. czy jest coś, co przeoczyłem, co oznacza, że nie można łączyć tych dwóch frameworków, czy też powód, dla którego jest to zły pomysł na ich połączenie? - Po drugie, czy ktoś wcześniej widział coś takiego? Jeśli tak, czy znalazłeś sposób na obejście tego?
Dodatkowa uwaga w tle: mogę całkiem jednoznacznie stwierdzić, że na jego telefonie jest mieszanie dwóch frameworków. Był w stanie usłyszeć dźwięki do mniej więcej tej samej wersji, w której dodaliśmy muzykę z ekranu tytułowego. Ponadto, jeśli zmienię jeden z dźwięków, aby działał przez odtwarzacz AVAudioPlayer, jest on w stanie go usłyszeć. Niestety, nie mogę po prostu przenieść dźwięków do AVAudioPlayers, ponieważ w ogóle nie działa dobrze i potrzebuję lepszej synchronizacji.
Zamierzam oznaczyć twoją odpowiedź jako zaakceptowaną, ponieważ odpowiedziałeś na moje główne pytanie (czy możesz je zmieszać). Myślę, że telefon tego testera może być fiosem, ponieważ widziałem, jak działa na kilku innych. – Bdebeez