gpt4 book ai didi

android - Mediaplayer 在 Android 2.2 上播放奇怪的声音

转载 作者:行者123 更新时间:2023-11-29 14:09:57 25 4
gpt4 key购买 nike

我创建了一个应用程序,它使用 MediaPlayer 在单击按钮时播放随机(短)声音。声音可以在 Android 设备 < 2.2 上正确播放。这是负责播放声音的代码。

r = new Random();
sounds = new ArrayList<MediaPlayer>();
sounds.add(MediaPlayer.create(this, R.raw.sound1));
sounds.add(MediaPlayer.create(this, R.raw.sound2));
sounds.add(MediaPlayer.create(this, R.raw.sound3));
sounds.add(MediaPlayer.create(this, R.raw.sound4));
sounds.add(MediaPlayer.create(this, R.raw.sound5));

theButton.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
playSound();
}
});

private void playSound() {
Thread thread = new Thread() {
public void run() {
MediaPlayer soundPlayer = sounds.get(r.nextInt(sounds.size()));
while (soundPlayer.isPlaying())
{
soundPlayer = sounds.get(r.nextInt(sounds.size()));
}
soundPlayer.seekTo(0);
soundPlayer.start();
}
};
thread.start();
}

声音都是.wav 文件。我尝试将它们转换为 .mp3,但它们根本无法播放。我做错了什么,还是 2.2 中的 MediaPlayer 有问题?其他人有这个问题并且知道解决方法吗?请记住,声音在 Android 版本低于 2.2 的所有其他设备上正常播放。

最佳答案

我认为您不应该为 MediaPlayer 创建 ArrayList。相反,您仅使用一个 MediaPlayer 对象和一个 ArrayList 来包含所有音乐资源。

当您下一首歌曲时,您只更新 MediaPlayer 的信息。例如, 释放之前的 MediaPlayer 对象。 创建其他 MediaPlayer 对象 最后,开始这首歌

关于android - Mediaplayer 在 Android 2.2 上播放奇怪的声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4014287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com