gpt4 book ai didi

java - 在android中停止播放声音

转载 作者:太空宇宙 更新时间:2023-11-04 13:04:45 25 4
gpt4 key购买 nike

我使用此代码通过单击按钮来播放声音。

    b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

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

try {
mp.reset();
AssetFileDescriptor afd;
afd = getAssets().openFd("sound/07.mp3");
mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
mp.prepare();
mp.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}



}
});

它运行良好,但我无法停止声音!

我使用mp.stop();。但是单击按钮会再次播放声音!

最佳答案

当 onClickListener 运行时,if 语句会在其他代码运行后进行检查。尝试在 if 之后放置 else 语句,您的代码应该如下所示:

  b.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

if(mp.isPlaying())
{
mp.stop();
}else{
try {
mp.reset();
AssetFileDescriptor afd;
afd = getAssets().openFd("sound/07.mp3");
mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength());
mp.prepare();
mp.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

}
});

关于java - 在android中停止播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34597498/

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