2

MediaPlayerを使用して20個のoggファイルを同時に再生しようとしています。ミキシング効果を出したいからです。1つの音楽の再生中に、他のファイルも再生する必要があります。実は、iOSでこの機能を使ったアプリを作ってみましたが、再生やミキシングに問題はありませんでした。そして今、私はこのアプリをアンドロイドアプリに変換する必要があります。だから私は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();
......

しかし、この時点でいくつか問題があります。2つの音のミキシングは問題ありませんが、3つ以上の音を再生しようとすると、「カチカチ、カチカチ」などのノイズが追加されます。ホワイトノイズのように聞こえます。理由はわかりません...このミキシングアプリケーションをAndroidで作成するのは本当に簡単だと思いました。すでにiOSで作成しているので、問題が何であるかわかりません。 。アドバイスしてくれる人はいますか?サウンドプールは答えではないと思います。短い音のみです。MediaPlayerは、同時に複数のサウンドを再生するのは適切ではありませんか?では、どうすればこの機能を実現できますか?

4

1 に答える 1

1

複数のメディア プレーヤーで同時にサウンドを再生することはお勧めしません (クラッシュが発生する可能性があります)。soundpoolを使用することをお勧めします。残念ながら、私自身は経験がないので、あなたを助けることはできませんが、おそらくこの投稿が役に立ちます

于 2012-03-26T11:49:25.023 に答える