如何同时播放多个 ogg 或 mp3 ..?
Posted
技术标签:
【中文标题】如何同时播放多个 ogg 或 mp3 ..?【英文标题】:How to play multiple ogg or mp3 at the same time..? 【发布时间】:2012-03-26 05:15:23 【问题描述】:我正在尝试使用 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 不适合同时播放多个声音? 那么,如何实现这个功能呢?
【问题讨论】:
【参考方案1】:不建议使用多个媒体播放器同时播放声音(可能会发生崩溃)。 你最好使用soundpool。不幸的是,我自己没有任何经验,所以我无法帮助你,但也许this post 会有所帮助
【讨论】:
谢谢。我使用 AudioTrack 解决了这个问题。效果很好。以上是关于如何同时播放多个 ogg 或 mp3 ..?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中的 Windows CE 5.0 (Build 1400) 中播放 .ogg、mp3,而不使用 Directsound 库?