2014-08-31 74 views
0

我寫簡單的代碼使用android.media.MediaPlayer播放MP3在Android,但我收到此錯誤的Android,線程ID = 1:螺紋,未捕獲的異常退出(組= 0xa4db4b20)

線程退出與未捕獲的異常(組= 0xa4db4b20)和NPE

這是我的MainActivity.java: -

public class MainActivity extends ActionBarActivity { 

private TextView textView; 
private ImageButton button; 
private MediaPlayer player; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    onGo(); 
} 

private void onGo() { 

    button=(ImageButton) findViewById(R.id.imageButton1); 
    textView = (TextView) findViewById(R.id.textView1); 
    player.create(MainActivity.this, R.raw.kalimba); 

    button.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View arg0) { 
      player.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 boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    int id = item.getItemId(); 
    if (id == R.id.action_settings) { 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
} 

和我的logcat: -

08-31 06:57:27.647: E/OpenGLRenderer(1237): Getting MAX_TEXTURE_SIZE from GradienCache 
08-31 06:57:27.651: E/OpenGLRenderer(1237): MAX_TEXTURE_SIZE: 8192 
08-31 06:57:27.655: E/OpenGLRenderer(1237): Getting MAX_TEXTURE_SIZE from Caches::initConstraints() 
08-31 06:57:27.655: E/OpenGLRenderer(1237): MAX_TEXTURE_SIZE: 8192 
08-31 06:57:27.655: D/OpenGLRenderer(1237): Enabling debug mode 0 
08-31 06:57:29.039: D/AndroidRuntime(1237): Shutting down VM 
08-31 06:57:29.039: W/dalvikvm(1237): threadid=1: thread exiting with uncaught exception (group=0xa4db4b20) 
08-31 06:57:29.051: E/AndroidRuntime(1237): FATAL EXCEPTION: main 
08-31 06:57:29.051: E/AndroidRuntime(1237): Process: com.example.player, PID: 1237 
08-31 06:57:29.051: E/AndroidRuntime(1237): java.lang.NullPointerException 
08-31 06:57:29.051: E/AndroidRuntime(1237): at com.example.player.MainActivity$1.onClick(MainActivity.java:44) 
08-31 06:57:29.051: E/AndroidRuntime(1237):  at android.view.View.performClick(View.java:4438) 

回答

1

你得到一個NullPointerException因爲playeronGo()空。此外,create()MediaPlayer一個靜態方法,你應該使用它像這樣:

player = MediaPlayer.create(MainActivity.this, R.raw.kalimba); 
+1

我有多麼愚蠢的問題, 感謝的人 – adarsh 2014-08-31 07:43:40

相關問題