2014-07-24 71 views
0

我試圖讓兩個聲音文件依次播放。我的應用程序應該「計數」,我希望它使用「二十」和「一」文件,而不是有一個額外的「二十一」文件。我很肯定我需要使用OnCompletionListener這個,我發現了一些以前的答案,解釋如何使用這個,但我不知道如何實現它們(我很新,你可能會已經猜到了。)如何在這種情況下實現OnCompletionListener?

這是我認爲最適用於我的問題的答案。

How to play audio files one after the other

這裏是沒有在執行OnCompletionListener任何企圖我的代碼。

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.TextView; 


public class GameActivity extends Activity { 

TextView generatedNumberTV; 
EditText inputNumberET; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.game_layout); 

    generatedNumberTV = (TextView) findViewById(R.id.number_view); 
    inputNumberET = (EditText) findViewById(R.id.number_input); 

} 

public void onSendGenerate(View view) { 

    MediaPlayer twenty = MediaPlayer.create(GameActivity.this, R.raw.twenty); 
    MediaPlayer one = MediaPlayer.create(GameActivity.this, R.raw.one); 

    twenty.start(); 
    one.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; 
} 

} 

使用此代碼,兩個聲音文件同時播放。

我一直堅持這一段時間,所以任何幫助將不勝感激。

回答

0

首先你設置onCompletionListener爲您MediaPlayer對象:

twenty.setOnCompletionListener(listener);

而在監聽器,你需要實現一個名爲onCompletion()方法具有MediaPlayer作爲參數(這是目前MediaPlayer那由聽者給出listened)。

參考:MediaPlayer.onCompletionListener