2016-06-24 141 views
0

我是初學者,剛開始使用android。我正在嘗試完成一些操作。所以我通過MediaPlayer對象調用了一個setOnCompletionListener。但是錯誤發生說不能解析符號setOnCompletionListener。 請幫我解決這個問題。無法解析符號MediaPlayer.setOnCompletionListener

這裏,是代碼封裝

package com.example.jay_mainframe.justjava; 

import android.media.MediaPlayer; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 
    MediaPlayer mp; 
    Button btn; 
    boolean flag=true; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     mp = MediaPlayer.create(this, R.raw.birthday); 
     btn=(Button)findViewById(R.id.play_btn); 

    } 

    public void playMusic(View view){ 
     if (flag) { 
      mp.start(); 
      btn.setText("Pause Me"); 
      flag=false; 
     } 
     else { 
      mp.pause(); 
      btn.setText("Play me"); 
      flag = true; 
     } 

    } 

    mp.setOnCompletionListener(new OnCompletionListener() { 
     @Override 
     public void onCompletion(MediaPlayer mp) { 
      //Do the work after completion of audio 
     } 
    }); 

} 

`

+0

你有一個標準的Java編譯錯誤,它與Android幾乎沒有任何關係 –

回答

1

錯誤的範圍。 代碼:

mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { 
    @Override 
    public void onCompletion(MediaPlayer mp) { 
     //Do the work after completion of audio 
    } 
}); 

應該是內部onCreate方法。或者只在一個函數內部,而不是在課堂內部。