MediaPlayer使Android应用程序崩溃

时间:2013-02-03 05:12:23

标签: java android xml eclipse android-mediaplayer

我正在制作这样一个按钮在点击时发出声音并且我一直遇到错误。继承我的java代码:

package com.thisisfoo.testgame;

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


 public class Main extends Activity {
    MediaPlayer buttonSound;


protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


 //Button sounds
    final MediaPlayer buttonSound = MediaPlayer.create(Main.this, R.raw.test);

 //setting up buttons
    Button button1 = (Button) findViewById(R.id.button1);


    button1.setOnClickListener(new View.OnClickListener() {


        public void onClick(View v) {
 // TODO Auto-generated method stub

            buttonSound.start();
            startActivity(new Intent("com.thisisfoo.testgame"));
        }
    });
}

它在播放时播放声音,但它崩溃并说“不幸的是,TEST已停止”。任何人都可以帮助我。谢谢!

编辑: 继承我的logcat

 02-02 22:56:29.401: E/AndroidRuntime(27328): FATAL EXCEPTION: main
 02-02 22:56:29.401: E/AndroidRuntime(27328): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.thisisfoo.testgame }
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1638)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.app.Instrumentation.execStartActivity(Instrumentation.java:1510)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.app.Activity.startActivityForResult(Activity.java:3263)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.app.Activity.startActivity(Activity.java:3370)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at com.thisisfoo.testgame.Main$1.onClick(Main.java:35)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.view.View.performClick(View.java:3538)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.view.View$PerformClick.run(View.java:14319)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.os.Handler.handleCallback(Handler.java:608)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.os.Handler.dispatchMessage(Handler.java:92)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.os.Looper.loop(Looper.java:156)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at android.app.ActivityThread.main(ActivityThread.java:5060)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at java.lang.reflect.Method.invokeNative(Native Method)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at java.lang.reflect.Method.invoke(Method.java:511)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 02-02 22:56:29.401: E/AndroidRuntime(27328):   at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:0)

在日志中:

  

ActivityNotFoundException:找不到处理Intent的活动

因为您没有通过正确的操作来开始下一个活动。尝试以下列活动开始:

Intent intent=new Intent(Main.this,Your_Next_Activity.class);

startActivity(intent);

答案 1 :(得分:0)

此崩溃是因为您的媒体播放器在您启动其他活动时在主要活动环境中播放声音。你可以通过不同的方式来解决这个问题 要么你在线程中启动这个媒体播放器,要么等待你的媒体播放器停止,然后开始另一个活动