0

Web から mp3 ファイルを再生する次のコードがあり、これは機能していますが、停止機能を使用するとオーディオが停止しません。これについてもっと知りたい、またはどこが間違っているのかを教えてくれるリソースを誰かに教えてもらえますか? ありがとう。

showAudio.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
        if (!showAudio.getText().equals("Stop")) {
            try {
                String url = lblAudio.getText().toString();
                if (url.length() > 2) {
                    mediaPlayer.setDataSource(url);
                    mediaPlayer.prepare();
                    mediaPlayer.start();
                    showAudio.setText("Stop");
                }
            } catch (Exception e) {
                Toast.makeText(getBaseContext(), "Sorry, there was a problem playing audio.", Toast.LENGTH_SHORT).show();
            }
        } else {
            try {
                mediaPlayer.stop();
                mediaPlayer.release();
            } catch (Exception ex) {
                ex.printStackTrace();
            }
            showAudio.setText("Audio");
        }
    }
});
4

4 に答える 4

0

起動および停止する動作中のメディア プレーヤーがあります。

Uri ringtone;
MediaPlayer mp;

ringtone = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
        mp = MediaPlayer.create(getApplicationContext(), ringtone);

    //code to start the mediaplayer

     if (Flags.notificationReceived) {
                        showAlert(Flags.patientModel);
                        Flags.notificationReceived = false;
                        mp.start();
                        mp.setLooping(true);
                        vibrate(2000);
                    }

    //code to stop the media player

     if (mp.isPlaying()) {
                        mp.stop();
                        mp.reset();
                        mp.release();
                        mp = MediaPlayer.create(getApplicationContext(), ringtone);


   }
于 2016-11-17T20:49:50.680 に答える
0

試してみる :

 try { 
     if(mediaPlayer.isPlaying())
      {
       mediaPlayer.stop();
       mediaPlayer.release(); 
       }
       } catch(Exception ex) { 
             ex.printStackTrace();
        }
于 2013-10-03T10:07:55.667 に答える