gpt4 book ai didi

android - 如何停止已经运行的 mediaPlayer 并创建新的 mediaPlayer?

转载 作者:行者123 更新时间:2023-11-29 16:20:28 29 4
gpt4 key购买 nike

我在安卓系统工作。我正在创建一个正在运行音频文件的 mediaPlayer。我有 10 个按钮。我为每个按钮分配了不同的 url。因此,当我按下按钮 1 时,将播放与按钮 1 相关的 url 歌曲。然后我点击第二个按钮,然后按钮 2 的歌曲也与歌曲 1 一起播放。但是我想在按下按钮 2 时停止按钮 1 的歌曲。

这是我用于此功能的代码:-

  public void onClick(View v)
{

MediaPlayer mediaPlayer=new MediaPlayer();

if (mediaPlayer.isPlaying())
{
mediaPlayer.stop();
mediaPlayer.release();

}

int i = Integer.parseInt((v.getTag()).toString());
String str=urls[i];
try {




mediaPlayer.setDataSource(str);
mediaPlayer.prepare();
mediaPlayer.start();

} catch (Exception e)
{
e.printStackTrace();
}

}

请检查我的代码,让我知道我犯了什么错误。

最佳答案

每次用户点击您查看时,您都构造了一个新的 MediaPlayer 对象

怎么会是运行状态!!!

在处于 End 状态的 MediaPlayer 对象上调用 release() 方法一旦 MediaPlayer 对象处于 End 状态,就不能再使用它,也无法将其恢复到任何其他状态。

但如果您想重用 MediaPlayer 对象,您应该调用按照同样的顺序调用下面的方法

reset()使mediaPlayer进入Idle状态

setDataSource() 设置你的数据源注意:媒体播放器应该处于空闲状态

prepare()

start()

关于android - 如何停止已经运行的 mediaPlayer 并创建新的 mediaPlayer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7370298/

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