Как воспроизвести несколько ogg или mp3 одновременно ..? - PullRequest
1 голос
/ 26 марта 2012

Я пытаюсь одновременно воспроизвести 20 файлов ogg с помощью MediaPlayer.Это потому, что я хочу сделать эффект смешивания.Пока играет одна музыка, другие файлы также должны быть воспроизведены.На самом деле, я уже сделал приложение с этой функцией на iOS, и у него не было никаких проблем играть и микшировать.И теперь я должен преобразовать это приложение в приложение для Android.поэтому я назначил 20 переменных медиаплеера

MediaPlayer player1; MediaPlayer player2; MediaPlayer player3; .....

play1   = (Button)findViewById(R.id.btn1);
play2   = (Button)findViewById(R.id.btn2);
play3   = (Button)findViewById(R.id.btn3);
......

play1.setOnClickListener(this);
play2.setOnClickListener(this);
play3.setOnClickListener(this);
......

и всякий раз, когда я нажимаю на каждую кнопку, он воспроизводит каждый звук и микширует.

player1 = MediaPlayer.create(TestActivity.this, R.raw.md_cricket2);
player1.setLooping(true);
player1.start();
......

Однако яесть некоторые проблемы на данный момент.Смешивание двух звуков - это нормально, но когда я попытался воспроизвести более трех звуков, добавились некоторые шумы, такие как «тик, тик».Звучит как белый шум ... Я не знаю почему ... Я подумал, что сделать это смешивающее приложение на Android действительно просто, потому что я уже делал это на iOS, но я не знаю, в чем проблема ...Кто-нибудь может мне посоветовать?Я думаю, что саундпул это не ответ.Это только для коротких звуков.MediaPlayer не подходит для одновременного воспроизведения нескольких звуков?Тогда, как я могу сделать эту функцию?

1 Ответ

1 голос
/ 26 марта 2012

Воспроизведение звуков одновременно с несколькими медиапроигрывателями не рекомендуется (возможны сбои).Вам лучше использовать soundpool .К сожалению, у меня нет опыта работы с ним, поэтому я не могу вам помочь, но, возможно, этот пост поможет

...