我试图按顺序播放两个声音文件。我的应用程序应该"计算"而且我希望使用"二十三"和"一个"文件,而不是额外的"二十四"文件。我非常确定我需要使用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 :(得分:0)
首先为MediaPlayer
对象设置onCompletionListener:
twenty.setOnCompletionListener(listener);
在监听器中,您需要实现一个名为onCompletion()
的方法,该方法有一个MediaPlayer
作为参数(当前MediaPlayer
为listened
听众)。