我创建了一个媒体播放器,该播放器从 url 获取数据。 网址基于截击响应。我正在为项目点击创建一个MediaPlayer
,因此onItemClick
每次都会创建一个新的MediaPlayer()
。所以我在onCreate()
中声明了它,但是之后给出了太多错误。
MediaPlayer()
中带有onItemClick
声明的代码下面,请帮助我,谢谢
我的动机:-我想在点击项目时播放另一首歌曲时停止播放歌曲
public class MusicsActivity extends AppCompatActivity{
private MediaPlayer mMediaPlayer;
}
public void OnItemClickActivity(int position,String video,String thumbnail,String thumbnails) {
String webUrl = "https://musicexample.com/";
Glide.with(this).load(webUrl + image).into(image);
text.setText(text);
Atext.setText(Atext);
mMediaPlayer = new MediaPlayer();
if (mMediaPlayer.isPlaying() && mMediaPlayer != null)
{
mMediaPlayer.stop();
mMediaPlayer.reset();;
mMediaPlayer.release();
mMediaPlayer = null;
}
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
togglePlayPause();
}
});
try {
mMediaPlayer.setDataSource(webUrl + src);
mMediaPlayer.prepareAsync();
} catch (IOException e) {
e.printStackTrace();
}
}
答案 0 :(得分:0)
要在没有非法状态异常危险的情况下停止Media Player,您必须这样做
try {
mp.reset();
mp.prepare();
mp.stop();
mp.release();
mp=null;
}
catch (Exception e)
{
e.printStackTrace();
}