onDestroy媒体播放器发布

onDestroy媒体播放器发布

我想当我单击手机上的“后退”按钮以关闭当前活动并返回菜单并停止Media Player时
但我收到错误消息:Unfortunately Weapons has stopped! upon clicking on back button
那么如何解决呢?

public class pushke extends Activity {

    private SeekBar volumeSeekbar = null;
    private AudioManager audioManager = null;
    MediaPlayer mp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
        setContentView(R.layout.guns);
        initControls();

        final MediaPlayer mp=MediaPlayer.create(this, R.raw.uzi);
        ImageButton btn1 = (ImageButton) findViewById(R.id.btn1);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (mp.isPlaying()){
                    mp.pause();
                    mp.seekTo(0);
                }
                else{
                    mp.start();
                }
            }
        });
    }

    private void initControls()
    {
        try
        {
            volumeSeekbar = (SeekBar)findViewById(R.id.seekBar1);
            audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
            volumeSeekbar.setMax(audioManager
                    .getStreamMaxVolume(AudioManager.STREAM_MUSIC));
            volumeSeekbar.setProgress(audioManager
                    .getStreamVolume(AudioManager.STREAM_MUSIC));


            volumeSeekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()
            {
                @Override
                public void onStopTrackingTouch(SeekBar arg0)
                { }

                @Override
                public void onStartTrackingTouch(SeekBar arg0)
                { }

                @Override
                public void onProgressChanged(SeekBar arg0, int progress, boolean arg2)
                {
                    audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,
                            progress, 0);
                }
            });
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        mp.release();
    }
}


Logcat:

最佳答案

1)我想当我点击手机上的后退按钮以关闭当前
  活动并返回菜单并停止Media Player


1)菜单是什么意思?我的意思是应用程序菜单或设备菜单或通知栏等。


  2)但是我得到了错误:不幸的是,武器已经停止了!在点击
  后退按钮那么该如何解决?


2)

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        if(mp!=null){
             mp.stop();
             mp.release();
             mp = null;
        }
    }


编辑:

private MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
    setContentView(R.layout.guns);
    initControls();

    mp=MediaPlayer.create(this, R.raw.uzi);
    ImageButton btn1 = (ImageButton) findViewById(R.id.btn1);

    btn1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (mp.isPlaying()){
                mp.pause();
                mp.seekTo(0);
            }
            else{
                mp.start();
            }
        }
    });
}

关于android - onDestroy媒体播放器发布,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20882028/

10-10 22:51