2012-05-16 58 views

回答

1

你需要重寫onPause()onStop()和停止音樂在那裏。

+0

我的應用程序中的音樂和視頻在WebView中播放,所以我不能使用佈局按鈕來停止播放。 – SopheakVirak

0

您可以使用您的活動的onPause()停止或暫停的媒體播放器。

覆蓋了的onPause()這樣的,

@Override 
protected void onPause() 
{ 
    super.onPause(); 
    if(mediaplayer!=null) 
{ 
    mediaplayer.pause(); 
} 
} 

而當你再次輸入您的活動,覆蓋的onResume()這樣的,

@Override 
      protected void onResume() { 
       super.onResume(); 

if(mediaplayer!=null) 
{ 
    mediaplayer.start(); 
} 
} 
+0

我的音樂和視頻在WebView中播放。你能給一個解決方案嗎? – SopheakVirak

0

的的onPause和的OnStart之間切換重要 onPause()方法被overrided給這個實例的回放控制。 還ü可以參考this

package org.example.audio; 

import android.app.Activity; 
import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 

public class AudioDemo extends Activity implements OnClickListener { 
    private static final String TAG = "AudioDemo"; 
    private static final String isPlaying = "Media is Playing"; 
    private static final String notPlaying = "Media has stopped Playing"; 

    MediaPlayer player; 
    Button playerButton; 

    public void onClick(View v) { 
     Log.d(TAG, "onClick: " + v); 
     if (v.getId() == R.id.play) { 
      playPause(); 
     } 
    } 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     player = MediaPlayer.create(this, R.raw.robotrock); 
     player.setLooping(false); // Set looping 

     // Get the button from the view 
     playerButton = (Button) this.findViewById(R.id.play); 
     playerButton.setText(R.string.stop_label); 
     playerButton.setOnClickListener(this); 

     // Begin playing selected media 
     demoPlay(); 

     // Release media instance to system 
     player.release(); 

    } 

    @Override 
    public void onPause() { 
     super.onPause(); 
     player.pause(); 
    } 

    // Initiate media player pause 
    private void demoPause(){ 
      player.pause(); 
      playerButton.setText(R.string.play_label); 
      Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show(); 
      Log.d(TAG, notPlaying); 
    } 

    // Initiate playing the media player 
    private void demoPlay(){ 
      player.start(); 
      playerButton.setText(R.string.stop_label); 
      Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show(); 
      Log.d(TAG, isPlaying); 
    } 

    // Toggle between the play and pause 
    private void playPause() { 
     if(player.isPlaying()) { 
      demoPause(); 
     } else { 
      demoPlay(); 
     } 
    } 
} 
+0

我的所有音樂和視頻都在WebView中播放。所以,我不能 – SopheakVirak

0

當用戶點擊後退按鈕時進入下面的方法內(插入代碼此方法)

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
    super.onKeyDown(keyCode, event); 
            if (keyCode == KeyEvent.KEYCODE_BACK) { 
                    // code to pause or stop the music!!!! 
            } 
            **return false;** 
        } 
+0

親愛的帕蒂爾,你能明白這一點嗎?因爲我對android非常陌生。 – SopheakVirak

+0

我無法下載你的apk 我的想法和闡述是; 1.喲項目中有兩項活動 - 主要和當前 2.在當前活動把上面的方法 3.當BACK按鈕用戶點擊,控制進入這個方法 4.這麼寫此方法中的代碼用於停止或暫停音樂,然後簡單地編寫finish(); 5. finish();會打電話給你的主要活動 有想法嗎? –

1

嘗試重寫onWindowsFocusChanged(boolean hasFocus)方法。