как воспроизводить разные песни на левом и правом каналах одновременно на устройстве Android

Можно ли воспроизводить 2 разные песни одновременно на левом и правом канале на устройстве Android? Я много искал, чтобы узнать, предоставляет ли класс MediaPlayer API для поддержки этого, но тщетно.

SoundPool имеет ограничение на размер файла, и мне нужно воспроизводить файлы размером более 2 МБ. По сути, у меня есть андроид-плеер, который играет в одиночную зону. Теперь мне нужно, чтобы плеер воспроизводил 2 разные песни одновременно на левом и правом выходе (динамики / наушники и т. Д.) Возможно ли это? Любая помощь приветствуется.


person sanakanchha    schedule 21.01.2014    source источник


Ответы (1)


Используйте два экземпляра AudioTrack.

Я их создаю в большом количестве.

Обычно устройства позволяют использовать до 24 или около того.

Все, что вам нужно, это два :-)

Android воспроизводит звук с помощью AudioTrack

Метод setVolume () принимает два параметра: один для левого, другой для правого.

person MikeHelland    schedule 21.01.2014
comment
большой! Спасибо за быстрый ответ. - person sanakanchha; 22.01.2014
comment
Можно ли этого добиться, создав два экземпляра MediaPlayer, а также, как я вижу, у него есть метод setVolume (float leftVolume, float rightVolume)? Причина, по которой я хочу пойти по этому пути, заключается в том, что в моем коде единственной зоны уже есть объект медиаплеера, и было бы проще создать другой экземпляр. - person sanakanchha; 22.01.2014
comment
Попробуйте и дайте нам знать. - person MikeHelland; 22.01.2014
comment
Потрясающе .. Спасибо, MazeHatter! Мне удалось добиться этого, создав два экземпляра Media Player. - person sanakanchha; 22.01.2014
comment
@deepakszone Решили проблему? Мне нужно решение: D - person Nyamkhuu Buyanjargal; 09.03.2020
comment
@NyamkhuuBuyanjargal ты пробовал это? mMediaPlayer1 = новый MediaPlayer (); mMediaPlayer2 = новый MediaPlayer (); - person sanakanchha; 14.11.2020