2014-12-25 2 views
0

저는 Android 개발자를위한 기본 앱입니다. 음악을 시작할 때 음악을 시작하고 끝낼 때 중지합니다 (onPause). "onPause"메서드를 만들 때 내 조건 "musica.stop();" 일하지 마.Android MediaPlayer onPause()

내 코드 :

import android.media.MediaPlayer; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ImageButton; 
import android.widget.Toast; 

public class MainActivity extends ActionBarActivity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final MediaPlayer mpBtnsom = MediaPlayer.create(this, R.raw.somvoa); 
     ImageButton btn1 = (ImageButton) findViewById(R.id.imageButton2); 

     MediaPlayer musica = MediaPlayer.create(this, R.raw.sommusica); 
     musica.start(); 
     musica.setLooping(true); 

     btn1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       mpBtnsom.start(); 
      } 
     }); 
    } 

    public void toast2(View view){ 
     Toast toast = Toast.makeText(MainActivity.this, "Botão ToastMessage", Toast.LENGTH_LONG); 
     toast.show(); 
    } 

    public void toast(View view){ 
     Toast toast = Toast.makeText(MainActivity.this, "Botão Felpudo", Toast.LENGTH_SHORT); 
     toast.show(); 
    } 

    protected void onPause(){ 
     super.onPause(); 

     musica.stop(); 
     finish(); 
    } 
} 
+0

@ OneWay, 필자는 특정 조건이 충족되지 않으면 컴파일러가 오류 메시지를 생성해야하기 때문에 주석이 필수는 아니라고 생각했습니다. – ChiefTwoPencils

답변

1

문제 변수 무지카onPause() 방법에 도달 할 수없는 것입니다. 아래에 표시된 클래스에서 전역 변수 musica 변수를 선언해야합니다.

public class MainActivity extends ActionBarActivity { 

    private MediaPlayer musica; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final MediaPlayer mpBtnsom = MediaPlayer.create(this, R.raw.somvoa); 
     ImageButton btn1 = (ImageButton) findViewById(R.id.imageButton2); 

     musica = MediaPlayer.create(this, R.raw.sommusica); 
     musica.start(); 
     musica.setLooping(true); 

     btn1.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       mpBtnsom.start(); 
      } 
     }); 
    } 

    public void toast2(View view){ 
     Toast toast = Toast.makeText(MainActivity.this, "Botão ToastMessage", Toast.LENGTH_LONG); 
     toast.show(); 
    } 

    public void toast(View view){ 
     Toast toast = Toast.makeText(MainActivity.this, "Botão Felpudo", Toast.LENGTH_SHORT); 
     toast.show(); 
    } 

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

     musica.stop(); 
     finish(); 
    } 
} 
+0

작업을 끝내지 않으려면 finish()를 제거해야합니다. –

+0

좋아, 그 작품 !!! Tks 많이 !!!! @일방 통행 –