【发布时间】:2021-07-30 06:52:41
【问题描述】:
这是工作流程。
选择音乐时,我想要它 播放它,如果我在另一个上选择它,它将重置并停止 正在播放的剪辑,然后它将移动到另一个并播放它。
问题:简单来说就是这三个代码。我要激活 在前一个被激活之后。
注意:我成功添加了按下播放按钮的命令但是如果我删除第一个播放的代码(重置和停止),只需选择它 列表,但它永远不会停止播放音乐,并且不停地堆叠在一起
sound.reset();
sound.stop();
btn_play.callOnClick();
代码部分完成
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
view.setSelected(true);
sound.reset();
sound.stop();
btn_play.callOnClick();
sound = MediaPlayer.create(SoundActivity.this, listitems.get(i).sound);
tvTitle.setText(listitems.get(i).getTitle());
SoundTime();
}
});
final boolean[] isPlay = {false};
btn_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (!sound.isPlaying()) {
Thread updateSeekBar;
updateSeekBar = new Thread() {
@Override
public void run() {
int SoundDuration = sound.getDuration();
int currentPostion = 0;
seekBar.setMax(SoundDuration);
while (currentPostion < SoundDuration) {
try {
sleep(100);
currentPostion = sound.getCurrentPosition();
seekBar.setProgress(currentPostion);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
};
sound.start();
updateSeekBar.start();
}
【问题讨论】:
-
在调用 sound.reset() 之前调用 sound.stop() 有帮助吗?
-
排序顺序已经添加了所有形式,我也尝试添加(sound.start),但不幸的是它不起作用
-
当我手动点击(btn_play)时,没有问题。问题是选择和点击时
-
如果你清楚你想要做什么(上下文),你可能会得到更好的答案,以及失败的地方
标签: java android select android-music-player