我怎样才能阻止MediaPlayer在彼此上面玩呢?我希望我的媒体播放器在申请中只播放一个声音。现在是当我播放一个声音,然后再播放另一个声音,它们同时播放。我想当我播放第二声时,第一声停止,这样他们就不会在对方上面演奏了。我的代码:
mp=MediaPlayer.create(this, R.raw.barets);
ImageButton dugme1 = (ImageButton) findViewById(R.id.dugme1);
dugme1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp.isPlaying()){
mp.pause();
mp.seekTo(0);
}
else{
mp.start();
}
}
});
mp2=MediaPlayer.create(this, R.raw.dragunov);
ImageButton dugme2 = (ImageButton) findViewById(R.id.dugme2);
dugme2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp2.isPlaying()){
mp2.pause();
mp2.seekTo(0);
}
else{
mp2.start();
}
}
});
mp3=MediaPlayer.create(this, R.raw.g3s);
ImageButton dugme3= (ImageButton) findViewById(R.id.dugme3);
dugme3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp3.isPlaying()){
mp3.pause();
mp3.seekTo(0);
}
else{
mp3.start();
}
}
});
mp4=MediaPlayer.create(this, R.raw.psg1);
ImageButton dugme4= (ImageButton) findViewById(R.id.dugme4);
dugme4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp4.isPlaying()){
mp4.pause();
mp4.seekTo(0);
}
else{
mp4.start();
}
}
});
mp5=MediaPlayer.create(this, R.raw.scout);
ImageButton dugme5= (ImageButton) findViewById(R.id.dugme5);
dugme5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp5.isPlaying()){
mp5.pause();
mp5.seekTo(0);
}
else{
mp5.start();
}
}
});
}
}
发布于 2014-01-08 04:09:46
您只检查当前mediaplayer是否正在播放,也就是说,在mp中,您只检查mp,以此类推。
在开始播放其中一个之前,您需要停止/暂停所有其他MediaPlayers。在启动其中任何一个之前,检查其他四个中是否有一个正在运行。如果是,那么停止/暂停它们,在对所有播放媒体播放器之后,启动当前的媒体播放器。
发布于 2014-01-08 04:12:29
每次你开始唱新歌时,先暂停一下,然后再弹新歌。当活动被关闭时,当你需要停止歌曲的时候要小心,即使这样你也需要关闭所有的音频回放。
发布于 2014-01-08 04:16:51
对me...Not来说,这似乎是显而易见的,即使你的六名球员中有一名知道其他五名球员。当你点击任何一个按钮时,其他五个按钮怎么能停止呢?在单击事件处理过程中,检查播放机列表,查看是否有播放并暂停播放。简单,不?:)但首先您需要每个玩家必须访问的玩家列表。
https://stackoverflow.com/questions/20995205
复制相似问题