gpt4 book ai didi

java - 停止媒体播放器

转载 作者:行者123 更新时间:2023-11-29 21:50:09 24 4
gpt4 key购买 nike

我制作了一个 android 应用程序,您可以在其中单击按钮来播放声音。每次单击按钮时,都会创建一个新的 MediaPlayer,问题是,当您在另一个声音仍在播放时按下按钮时,它们会同时播放,但我想,当您停止播放之前的声音时按下一个按钮。我已经尝试过此代码,但每次按下按钮时我的应用程序都会崩溃:

MediaPlayer mp;
Button button;

button = (Button) findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View v) {

if(mp.isPlaying()){

mp.stop();

}

mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();

}});

有办法解决我的问题吗?

最佳答案

它可能会崩溃,因为“mp”未初始化。试试这个:

    @Override
public void onClick(View v) {
//if mp exists and is playing...
if(mp != null && mp.isPlaying()){

mp.stop();

}

mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);
mp.start();

}});

编辑您还可以通过在顶部声明时初始化“mp”来避免检查空值。

例如,不是检查 mp != null。从以下位置更改“mp”的声明:

MediaPlayer mp;

MediaPlayer mp = MediaPlayer.create(getApplicationContext(), R.raw.sound);

您的 onclick 方法可能如下所示:

public void onClick(View v) {

if(mp.isPlaying()) {
mp.stop();
}

//start mp from beginning

}

关于java - 停止媒体播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14655916/

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