2014-07-24 46 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