Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:无法启动活动组件信息:java.lang.NullPointerException_Android_Audio Recording_Seekbar_Mediastore - Fatal编程技术网

Android:无法启动活动组件信息:java.lang.NullPointerException

Android:无法启动活动组件信息:java.lang.NullPointerException,android,audio-recording,seekbar,mediastore,Android,Audio Recording,Seekbar,Mediastore,我正在录制音频时尝试运行搜索栏 这是我的密码 public class ServerAudioSendActivity extends Activity { private Button buttonPlayStop; private MediaPlayer mediaPlayer; private SeekBar seekBar; private final Handler handler = new Handler(); // Here i override onCreate meth

我正在录制音频时尝试运行搜索栏

这是我的密码

public class ServerAudioSendActivity extends Activity {

private Button buttonPlayStop;
private MediaPlayer mediaPlayer;
private SeekBar seekBar;

private final Handler handler = new Handler();

// Here i override onCreate method.
//
// setContentView() method set the layout that you will see then
// the application will starts
//
// initViews() method i create to init views components.
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.main);
    initViews();

}

// This method set the setOnClickListener and method for it (buttonClick())
private void initViews() {
    buttonPlayStop = (Button) findViewById(R.id.ButtonPlayStop);
    buttonPlayStop.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            buttonClick();
        }
    });

    // mediaPlayer = MediaPlayer.create(this, R.raw.sound41772);

    seekBar = (SeekBar) findViewById(R.id.SeekBar01);
    seekBar.setMax(mediaPlayer.getDuration());
    seekBar.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            seekChange(v);
            return false;
        }
    });

}

public void startPlayProgressUpdater() {
    seekBar.setProgress(mediaPlayer.getCurrentPosition());

    if (mediaPlayer.isPlaying()) {
        Runnable notification = new Runnable() {
            public void run() {
                startPlayProgressUpdater();
            }
        };
        handler.postDelayed(notification, 1000);
    } else {
        mediaPlayer.pause();
        buttonPlayStop.setText(getString(R.string.play_str));
        seekBar.setProgress(0);
    }
}

// This is event handler thumb moving event
private void seekChange(View v) {
    if (mediaPlayer.isPlaying()) {
        SeekBar sb = (SeekBar) v;
        mediaPlayer.seekTo(sb.getProgress());
    }
}

// This is event handler for buttonClick event
private void buttonClick() {
    if (buttonPlayStop.getText() == getString(R.string.play_str)) {
        buttonPlayStop.setText(getString(R.string.pause_str));
        try {
            mediaPlayer.start();
            startPlayProgressUpdater();
        } catch (IllegalStateException e) {
            mediaPlayer.pause();
        }
    } else {
        buttonPlayStop.setText(getString(R.string.play_str));
        mediaPlayer.pause();
    }
}
 }
在logcat中给出此错误

06-06 17:57:33.522: W/dalvikvm(1068): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
06-06 17:57:33.542: E/AndroidRuntime(1068): FATAL EXCEPTION: main
06-06 17:57:33.542: E/AndroidRuntime(1068): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sendaudiotoserver/com.sendaudiotoserver.ServerAudioSendActivity}: java.lang.NullPointerException
06-06 17:57:33.542: E/AndroidRuntime(1068):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
06-06 17:57:33.542: E/AndroidRuntime(1068):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.ActivityThread.access$600(ActivityThread.java:123)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.os.Handler.dispatchMessage(Handler.java:99)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.os.Looper.loop(Looper.java:137)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.ActivityThread.main(ActivityThread.java:4424)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at java.lang.reflect.Method.invokeNative(Native Method)
 0 6-06 17:57:33.542: E/AndroidRuntime(1068):   at java.lang.reflect.Method.invoke(Method.java:511)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 0 6-06 17:57:33.542: E/AndroidRuntime(1068):   at dalvik.system.NativeStart.main(Native  Method)
 06-06 17:57:33.542: E/AndroidRuntime(1068): Caused by: java.lang.NullPointerException
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at com.sendaudiotoserver.ServerAudioSendActivity.startPlayProgressUpdater(ServerAudioSendActivity.java:60)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at com.sendaudiotoserver.ServerAudioSendActivity.onCreate(ServerAudioSendActivity.java:32)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.Activity.performCreate(Activity.java:4465)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
 06-06 17:57:33.542: E/AndroidRuntime(1068):    ... 11 more
请告诉我哪里出了问题

非常感谢
Rahul

您已经评论了这一行:

// mediaPlayer = MediaPlayer.create(this, R.raw.sound41772);
因此,您将在以下位置获得NullPointerException:

mediaPlayer.getDuration()

您已对此行进行了注释:

// mediaPlayer = MediaPlayer.create(this, R.raw.sound41772);
因此,您将在以下位置获得NullPointerException:

mediaPlayer.getDuration()

甚至在
buttonPlayStop=(Button)findViewById(R.id.buttonPlayStop)之前调用此方法

您的seekbar未初始化,因此在
seekbar.setProgress(mediaPlayer.getCurrentPosition())上发生NPE
甚至在
buttonPlayStop=(Button)findViewById(R.id.buttonPlayStop)之前调用此方法
您的seekbar未初始化,因此在
seekbar.setProgress(mediaPlayer.getCurrentPosition())上发生NPE