2012-03-26 295 views
1

我想用MediaPlayer同時播放20個ogg文件。 這是因爲我想製作混音效果。 當一首音樂正在播放時,還必須播放其他文件。其實,我已經在iOS上用這個功能做了一個應用程序,並且它沒有任何問題可以玩和混合。 現在,我應該將此應用程序轉換爲android應用程序。 所以我被判20個媒體播放器變量如何同時播放多個ogg或mp3 ..?

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(); 
...... 

但是,在這一點上我有一些問題。 兩個聲音混合是可以的,但是當我嘗試播放超過3個聲音時, 增加了一些噪音,如「嘀嗒嘀嗒」。這聽起來像白色噪音.. 我不知道爲什麼... 我認爲這是真的很簡單,使這個混合應用程序在Android中,因爲 我已經在iOS中做過,但我不知道什麼問題是... 有沒有人可以建議我? 我認爲soundpool不是答案。它只適用於短暫的聲音。 MediaPlayer不適合同時播放多個聲音嗎? 那麼,我該如何使這個功能?

回答

1

不推薦與多個媒體播放器同時播放聲音(可能會發生崩潰)。 你最好使用soundpool。不幸的是,我自己沒有任何經驗,所以我不能幫你在那裏,但也許this post將幫助

+1

謝謝。我用AudioTrack解決了這個問題。它運作良好。 – user1292204 2012-03-27 00:47:19