-1
package my.medai;

import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MediaplayerexampleActivity extends Activity {
    Button play, pause;
    MediaPlayer mp;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MediaPlayer.create(this, R.raw.alone);
        play = (Button) findViewById(R.id.button1);
        pause = (Button) findViewById(R.id.button2);
        play.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                mp.start();

            }
        });
        pause.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {mp.stop();}});

    }
}

私はプログラミングが初めてです。これはJava xmlであり、ドラッグアンドドロップによって生成された2つのボタンが含まれているだけです.1つまたは2つのボタンが押されると、アプリケーションが予期せず閉じます.

4

2 に答える 2

3

ほとんどmpの場合、割り当てられていないため null であり、NullPointerException が発生します。この行:

MediaPlayer.create(this, R.raw.alone);

むしろ次のように見えるはずです

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

プレーヤーの作成が失敗したときに null を返す可能性があるためMediaPlayer.create()、念のため、いくつかの null チェックも追加する必要があります。

于 2012-05-23T20:05:38.193 に答える
1

使用する

setContentView(R.layout.main);
mp =MediaPlayer.create(this, R.raw.alone);

それ以外の

setContentView(R.layout.main);
MediaPlayer.create(this, R.raw.alone);
于 2012-05-23T20:06:57.733 に答える