这是我的一个非常基本的Android声音播放器的代码,按下按钮我希望播放声音,或者要捕获IOException - 看起来很简单。相反,我得到“QCMediaPlayer媒体播放器不存在”,所以如果没有可用的播放器我怎么想播放我的音轨 - &我该怎么办? 我知道它已经被提出,但没有给出微不足道的解决方案。
public class MainActivity extends Activity {
private MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button motivate = (Button) this.findViewById(R.id.motivate);
motivate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { // On click randomly select a sound then play it
try {
play();
}
catch (IOException e) {
e.printStackTrace();
}
}
});
}
public void stop() {
if (player != null) {
player.release();
player = null;
}
}
public void play() throws IOException {
stop();
int[] sound = {R.raw.a, R.raw.b, R.raw.c, R.raw.d, R.raw.e, R.raw.f, R.raw.g, R.raw.h, R.raw.i, R.raw.j, R.raw.k, R.raw.l, R.raw.m, R.raw.n, R.raw.o};
player = MediaPlayer.create(MainActivity.this, sound[0]);
player.setAudioStreamType(AudioManager.STREAM_MUSIC);
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer player) {
stop();
}
});
}
}
答案 0 :(得分:0)
你可以尝试这个:https://bitbucket.org/edwardcw/libvlc-android-sample 我们用它来播放流
答案 1 :(得分:0)
好的,所以答案实际上相当简单。 MediaPlayer是一个导入,只有8/10可以工作,具体取决于你的Android和内核的味道。一个常数是SoundPool;这将根据需要加载和播放声音。