사운드 풀은 실제로 오디오 믹서입니다. ogg 또는 mp3로 인코딩되었는지 또는 압축되지 않은지 여부에 관계없이 짧은 클립 만 재생할 수 있습니다. 사운드 풀은 항상 압축되지 않은 상태로 메모리에 저장하며, 한계는 1MB임을 알아야합니다. 클립의 메모리가 너무 크면 사운드 풀이 꺼지고 다음 오류가 표시됩니다. "AudioFlinger에서 트랙을 만들지 못했습니다. 상태 : -12" 미디어 플레이어에서 스트림을 재생하고 실시간으로 해독합니다. 따라서 훨씬 더 긴 클립을 재생할 수 있지만 프로세서 파워가 필요합니다.
그래서 사운드 풀은 짧은 오디오 효과 (클릭 수, 폭발음, 사운드 루프)보다 좋기 때문에 미디어 플레이어는 배경 음악에 더 좋습니다. 또한 사운드 풀은 더 많은 클립을 동시에 재생할 수 있으며 볼륨과 속도를 제어합니다. 또한 루프를 재생할 수 있습니다.
하나의 메모 : 클립이 완전히로드되고 디코딩되지 않으면 사운드 풀에서 음악을 재생할 수 없습니다. 따라서 OnLoadCompleteListener (Android 10 이상)를 사용하여이를 확인해야합니다. 디코딩되기 전에 사운드를 재생하려고하면 사운드 풀이 음소거됩니다.
미디어 플레이어에는 이러한 문제가 없습니다.
감사합니다. 사운드 풀을 사용해 보겠습니다. – Fede
MediaPlayer는 오른쪽/왼쪽 채널의 볼륨 설정을 별도로 지원합니다. 다음은 좋은 예입니다. https : //www.codota.com/android/methods/android.media.MediaPlayer/setVolume 더하기 여기에서 설명서를 참조하십시오. https://developer.android.com/ reference/android/media/MediaPlayer.html # setVolume (float, float) –