Android - 从网址播放音乐

时间:2014-02-20 18:53:10

标签: android android-mediaplayer seekbar

我尝试从网址播放音乐而不下载,每件事情都是写的唯一问题是我使用下面的代码来播放和暂停音乐,首先按下按钮音乐开始播放并再次按下它音乐暂停但是如果我再次按下按钮没有任何反应,它应该播放暂停的音乐,但事实并非如此,这是什么问题?

buttonPlayPause = (ImageView) findViewById(R.id.play);
    buttonPlayPause.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            if (isPlaying) {
                buttonPlayPause.setImageResource(R.drawable.play);
                mediaPlayer.pause();
                isPlaying = false;
            } else {
                buttonPlayPause.setImageResource(R.drawable.pause);
                new Stream().execute();
            }
        }
    });

private class Stream extends AsyncTask<String, String, String> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
    }

    @Override
    protected String doInBackground(String... params) {
        try {
            mediaPlayer.setDataSource(url);
            mediaPlayer.prepare();
            mediaFileLengthInMilliseconds = mediaPlayer.getDuration();
            mediaPlayer.start();
            animation.cancel();
            isPlaying = true;
            primarySeekBarProgressUpdater();
        } catch (Exception e) {
            return "Exception Caught";
        }
        return url;
    }

    @Override
    protected void onPostExecute(String result) {
    }
}

1 个答案:

答案 0 :(得分:0)

在这里我使用两个按钮, 1暂停和播放。 stop.ok的另一个按钮让代码, 在你的按钮

  

切换案例添加以下编码,   btnPlayBack用于暂停和播放.btnStop用于停止播放音乐。在这里我创建了名为mediaPlayer的全局MediaPlayer实例,

startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.UseShellExecute = false;
startInfo.CreateNoWindow = true;
  

对于Android后退按键,您也可以通过在此处添加此行来停止播放音乐

 @Override
public void onClick(View v) {
    switch ( v.getId() ) {
        case R.id.button_stop_play:
            if ( mediaPlayer != null && buttonAction == 0 ) {
                mediaPlayer.pause();
                buttonAction = 1;
                btnPlayback.setText("Play");
            }
            else {
                try {
                    mediaPlayer.start();
                    buttonAction = 0;
                    btnPlayback.setText("Pause");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            break;
        case R.id.button_stop:
            mediaPlayer.stop();
            mediaPlayer = null;
            break;
    }
}
相关问题