3

私はAndroidアプリケーションの初心者です。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();

}
}
4

1 に答える 1

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

この行では、クラスのフィールドを初期化する代わりに、別の MediaPlayer 変数を作成しています。また、クラスのフィールドが nullでonDestroy()あるため、NullPointerException がスローされます。mp

行を次のように変更するだけです。

mp=MediaPlayer.create(this, R.raw.animal_kit);
于 2013-06-30T04:25:31.373 に答える