Dźwięk basen jest rzeczywiście mikser audio. Może odtwarzać krótkie klipy bez względu na to, czy są zakodowane jako ogg czy mp3, czy też nie są skompresowane. Pula dźwięku zawsze zapisuje je w pamięci nieskompresowanej i musisz wiedzieć, że limit to 1 MB. Jeśli twój klip jest zbyt duży w pamięci, pula dźwiękowa cichnie, a znajdziesz następujący błąd: "Odtwarzacz audio nie mógł utworzyć ścieżki. Status: -12" Odtwarzacz multimedialny odtwarza strumień i dekoduje go w czasie rzeczywistym. Może więc odtwarzać znacznie dłuższe klipy, ale potrzebuje do tego mocy procesora.
Odtwarzacz multimedialny jest lepszy dla muzyki w tle, podczas gdy pula dźwiękowa ma lepsze efekty dźwiękowe (kliknięcia, wybuchy, pętle dźwiękowe). Ponadto, pula dźwiękowa może jednocześnie odtwarzać więcej klipów i kontrolować głośność i prędkość. Może również odtwarzać pętle.
Jedna uwaga: nie można odtwarzać muzyki z puli dźwiękowej, jeśli klip nie jest w pełni załadowany i odkodowany. Musisz więc użyć OnLoadCompleteListener (Android 10 lub nowszy), aby to sprawdzić. Jeśli spróbujesz odtworzyć dźwięk przed jego dekodowaniem, pula dźwiękowa zostanie wyciszona.
Odtwarzacz multimediów nie ma takich problemów.
OK, dziękuję, spróbuję z soundpoolem. – Fede
MediaPlayer obsługuje oddzielnie głośność ustawień dla kanałów prawo/lewo. To jest dobry przykład: https: //www.codota.com/android/methods/android.media.MediaPlayer/setVolume plus możesz zapoznać się z dokumentacją tutaj: https://developer.android.com/ reference/android/media/MediaPlayer.html # setVolume (float, float) –