2017-07-22 95 views
0

我不知道爲什麼我的媒體播放器導致應用程序崩潰,每當我點擊我的播放按鈕。代碼在下面(原諒愚蠢的變量名稱)。Android工作室媒體播放器崩潰應用程序

package com.example.daud.myapplication; 

import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class player_try_2 extends AppCompatActivity { 
    MediaPlayer playerOfSong; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_player_try_2); 
    } 


    public void playTheSong(){ 
      playerOfSong = MediaPlayer.create(this, R.raw.test1); 
      playerOfSong.start(); 

    } 
} 

playTheSong()方法被設置爲的onClick我的按鈕。我沒有將它編碼,而是通過設計視圖中的按鈕屬性完成的。 R.raw.test1文件包含一個mp3文件。

任何幫助,這是超級讚賞。謝謝。前``start`;

07-22 00:22:52.790 11650-11650/com.example.daud.myapplication E/AndroidRuntime: FATAL EXCEPTION: main 
    Process: com.example.daud.myapplication, PID: 11650 
    java.lang.IllegalStateException: Could not find method playTheSong(View) in a parent or ancestor Context for android:onClick attribute defined on view class android.support.v7.widget.AppCompatButton with id 'button' 
     at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.resolveMethod(AppCompatViewInflater.java:327) 
     at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:284) 
     at android.view.View.performClick(View.java:6219) 
     at android.view.View$PerformClick.run(View.java:24482) 
     at android.os.Handler.handleCallback(Handler.java:769) 
     at android.os.Handler.dispatchMessage(Handler.java:98) 
     at android.os.Looper.loop(Looper.java:164) 
     at android.app.ActivityThread.main(ActivityThread.java:6540) 
     at java.lang.reflect.Method.invoke(Native Method) 
     at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) 
+0

調用'playerOfSong.prepare():

logcat的正顯示出這是錯誤 –

+0

試過了。同樣的結果。 – doddy

回答

0

你必須通過一個View參數

做這個

public void playTheSong(View v){ 
     playerOfSong = MediaPlayer.create(this, R.raw.test1); 
     playerOfSong.start(); 

} 
+0

我是/是,並修復它。非常感謝。我在stackoverflow上的聲望還不足以支持投票,但謝謝! – doddy

相關問題