如何使用URL类型源在Android中制作完美的媒体播放器

时间:2019-05-26 03:36:52

标签: java android

我创建了一个媒体播放器,该播放器从 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();
    }
}

1 个答案:

答案 0 :(得分:0)

要在没有非法状态异常危险的情况下停止Media Player,您必须这样做

  try {
        mp.reset();
        mp.prepare();
        mp.stop();
        mp.release();
        mp=null;
       }
  catch (Exception e)
         {
           e.printStackTrace();
         }