2013-06-30 54 views
1

我是Android应用程序的初学者。我添加了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); 

在这一行你创建另一个MediaPlayer的变量,而不是初始化类的领域。并且在onDestroy()中将引发NullPointerException,因为类的mp字段为空。

只是改变行:

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

太感谢你了! – user2478122

相关问题