2011-08-22 1 views
1

나는 android에서 새롭고 다른 (간단한?) 문제가 있습니다. Media Player를 중지하는 방법을 모르겠습니다. 이것은 내 간단한 코드입니다 :미디어 플레이어 중지

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.view); 
     MediaPlayer mp; 
     mp = MediaPlayer.create(this, R.raw.sauronsound); 
     mp.setLooping(false); 
     mp.start(); 
    @Override 
    protected void onDestroy() 
{ 

    // Stop play 
     super.onDestroy(); 
     mp.stop(); 
    } 
     } 

첫 번째 활동으로 이동하지만 사운드는 켜져 있습니다. 앱을 떠날 때도 켜져 있습니다. 소리를 끄려면 어떻게해야합니까?

언제나 가난한 영어로 변명하십시오.

나는 너희들 덕분에 문제를 해결했다. 작업 코드 :

public class SauronEye extends Activity { 
    private MediaPlayer mp; 
    @Override 
     public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.view); 
     mp = MediaPlayer.create(this, R.raw.sound); 
     mp.setLooping(false); 
     mp.start(); 


    // Get instance of Vibrator from current Context 
     Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE); 
     v.vibrate(10000); 
     } 
@Override 
    protected void onStop() 
{ 
    // Stop play 
    super.onStop(); 
    mp.stop(); 
} 
    } 

올바른지? 작동합니까? 도와 주셔서 감사합니다. 이 밖에 http://developer.android.com/reference/android/media/MediaPlayer.html 당신은 mp.stop()를 호출 할 수있는 방법, 중지 또는 당신이 당신의 onpause가 호출 될 것이다 버튼을 다시 선택하여 requirement.When에 따라 일시 정지

답변

0

확인 전화를 걸 수 있습니다들의 OnDestroy는 경우에만 활동을 호출 할 것이다 완전히 파괴되었습니다

2

mponDestroy에서 사용중인 참조가 onCreate에서 사용중인 참조와 다릅니다. MediaPlayer mp; 행을 onCreate 클래스 외부로 이동하십시오.

+0

감사합니다이 비디오 시리즈를 시도 할 수 있습니다 soundcodes으로 :) 당신은 – jundymek

0

onDestroy는 시스템에서 활동이 종료 될 때만 호출됩니다. onDestroy에 배치하는 대신 onPause()에 넣어야합니다. 이는 활동이 백그라운드로 이동되었지만 메모리에 남아있을 때 호출됩니다. (백 버튼을 누르거나 응용 프로그램을 떠나되면서 발생하는 어느)

@Override 
protected void onPause() { 
    super.onPause(); 
    mp.stop(); 
} 
+0

당신이 누르면 ... 맞아 뒤로 버튼,'onDestroy' **는 ** 호출됩니다. – Cristian

0

당신이 재정의를 호출 할 수 있습니다 정말 쉽게 소스 코드를 구현하고 코드로 각을 추가 할 수 있습니다. 필요한 곳에서 삽입 점을 마우스 오른쪽 버튼으로 클릭하고 소스 -> 메소드 재정의/구현을 클릭하면됩니다. 대화 상자가 나타나면 필요한 방법을 클릭하고 ondestroy, onpause, onstop을 사용해보십시오. 귀하의 코드에 대한 후 각각의 구현은 각각에 다음을 추가합니다. 당신이 조금 더 원하는 경우

protected void onDestroy{ 
     super.onDestroy(); 
     mp.release(); 
    } 

    protected void onStop{ 
     super.onStop(); 
     mp.stop(); 
    } 

    protected void onPause{ 
     super.onPause(); 
     mp.pause(); 
    } 

또한 당신은 당신이이 링크 stealthcopters link를 시도 할 수 있습니다 또는 cornboyzAndroid