2

我正在尝试使用 MediaPlayer 同时播放 20 个 ogg 文件。这是因为我想做一个混合效果。在播放一首音乐时,还必须播放其他文件。其实我在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();
......

但是,在这一点上我有一些问题。两种声音混合是可以的,但是当我尝试播放超过 3 种声音时,会添加一些声音,例如“滴答,滴答”。听起来像白噪音..我不知道为什么...我认为在android中制作这个混合应用程序真的很简单,因为我已经在iOS中做过,但我不知道问题是什么.. . 有没有人可以给我建议?我认为soundpool不是一个答案。它仅适用于短音。MediaPlayer 不适合同时播放多个声音?那么,我该如何实现这个功能呢?

4

1 回答 1

1

不建议使用多个媒体播放器同时播放声音(可能会发生崩溃)。你最好使用soundpool。不幸的是,我自己没有任何经验,所以我无法帮助你,但也许这篇文章会有所帮助

于 2012-03-26T11:49:25.023 回答