Как воспроизвести фоновый звук на Android, не прерывая MediaPlayer
воспроизведения, с помощью MediaPlayer
(предпочтительно) или OpenSL ES?
Я знаю, что SoundPool
может воспроизводить звуковые эффекты, не прерывая воспроизведения MediaPlayer
, но размер ограничен 1M на эффект, что намного меньше. Не запрашивается фокус звука, через AudioManager
тоже не работает, в этом случае звук вообще не воспроизводится.
А в случае с OpenSL ES весь звук обычно останавливается, когда я начинаю воспроизводить более длинный ресурсный файл. Это похоже на поведение SoundPool
, описанное выше.
Изменить из комментариев:
Я не хочу мешать другим музыкальным проигрывателям, это фоновый звук игры, который должен воспроизводиться, не прерывая, например, музыку проигрывателя. В таких играх, как Subway Surfer, Clash Royale и подобных, это как-то достигается, но мне не удалось добиться этого с помощью OpenSL ES или MediaPlayer.