-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();}});

    }
}

我是 prgraming 的新手。这是 java xml 只包含两个通过拖放生成的按钮,当按下任何或两个按钮时,应用程序会意外关闭

4

2 回答 2

3

很可能mp是 null,因为它没有被分配,导致 NullPointerException。这一行:

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

应该看起来像

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

由于MediaPlayer.create()可以在创建播放器失败时返回 null,因此您还应该添加一些额外的 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 回答