2013-06-30 4 views
1

저는 Android 응용 프로그램에서 매우 초보자입니다. MediaPlayer가 추가되었으며 응용 프로그램이 시작될 때 올바르게 재생됩니다. 노래가 끝나기 전에 사용자 종료 응용 프로그램이 실행되면 MediaPlayer가 백그라운드에서 재생되는 것을 중지하고 싶습니다. 친절하게 도와주세요 !!! 다음은이 라인 다른 MediaPlayer를 변수를 만드는 대신 클래스의 필드를 초기화하고있는응용 프로그램 종료시 MediaPlayer가 중지되지 않습니다

package com.example.myappname; 

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 

public class MainActivity extends Activity { 
MediaPlayer mp; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    MediaPlayer mp=MediaPlayer.create(this, R.raw.animal_kit); 
    mp.start(); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public void onDestroy() { 
     mp.stop(); 
     mp.release(); 

    super.onDestroy(); 

} 
} 

답변

2
MediaPlayer mp=MediaPlayer.create(this, R.raw.animal_kit); 

아래에있는 내 코드입니다. 그리고 클래스의 mp 필드가 null이기 때문에 NullPointerException이 onDestroy()에 던져 질 것입니다.

단지에 줄을 변경 :

mp=MediaPlayer.create(this, R.raw.animal_kit); 
+0

너무 감사합니다! – user2478122

관련 문제