媒体播放器在完成之前不播放声音

问题描述 投票:0回答:1

我的应用程序中有一个按钮,每次单击它时都会发出声音。问题是只有当我等到第一个声音结束时它才会播放。无论重复单击按钮的速度有多快,我都需要它来播放它。我正在使用的文件是

.mp3
,位于我的 Android Studio 项目中的
res\raw
文件夹中。

我将其初始化为:

MediaPlayer player = MediaPlayer.create(activity, R.raw.sound);

我的按钮点击初始代码很简单

player.start();

尝试使用以下功能,但遇到了同样的问题:

if (player.isPlaying()) {
    player.stop();
}
player.start();
if (player.isPlaying()) {
    player.pause();
    player.restart();
}
player.start();
if (player.isPlaying()) {
    player.restart();
}
player.start();

使用

player.prepare()
player.prepareAsync()
会导致
java.lang.IllegalStateException
错误,可能是因为我使用的初始化已经在幕后调用
prepare()

如何实现函数调用时立即发出声音?不一定要使用

MediaPlayer
。感谢您的帮助。

java android android-mediaplayer
1个回答
0
投票

停止后您还必须释放播放器:

...
player.stop();
player.release();
...
© www.soinside.com 2019 - 2024. All rights reserved.