如何针对这种情况实现OnCompletionListener?

时间:2014-07-24 16:06:05

标签: java android

我试图按顺序播放两个声音文件。我的应用程序应该"计算"而且我希望使用"二十三"和"一个"文件,而不是额外的"二十四"文件。我非常确定我需要使用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;
}

}

使用此代码,两个声音文件同时播放。

我已经坚持了一段时间,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

首先为MediaPlayer对象设置onCompletionListener:

twenty.setOnCompletionListener(listener);

在监听器中,您需要实现一个名为onCompletion()的方法,该方法有一个MediaPlayer作为参数(当前MediaPlayerlistened听众)。

参考:MediaPlayer.onCompletionListener