Android SDK-如何一次停止所有mediaplayer

Android SDK-如何一次停止所有mediaplayer,android,media-player,Android,Media Player,我制作了一个音板,代码在单击时为每个项目创建一个mediaplayer。 这是我的密码: public void onListItemClick(ListView parent, View v, int position, long id){ Sound s = (Sound) mSounds.get(position); MediaPlayer mp = MediaPlayer.create(this, s.getSoundResourceId()); mp.start(); } 但

我制作了一个音板,代码在单击时为每个项目创建一个mediaplayer。 这是我的密码:

public void onListItemClick(ListView parent, View v, int position, long id){

Sound s = (Sound) mSounds.get(position);

MediaPlayer mp = MediaPlayer.create(this, s.getSoundResourceId());

mp.start();

}

但是我想创建一个按钮来停止所有正在播放的声音。有没有办法停止所有mediaplayer对象?

为什么不将所有mediaplayer放在一个文件夹中


然后您可以迭代集合并停止它们。

您可以创建一个向量,在其中添加所有MediaPlayer实例,当您单击停止按钮时,您必须使用mp.stop()循环停止所有实例

你也许应该看看这个问题:这并没有回答我的问题,事实上我在发帖前读过。当Mediaplayer的名称是固定的时,这个提示就起作用了,即使我为每个声音制作了一个媒体播放器,也有120多个声音。。。启动和停止每一个都是不实际的。该应用程序包含120多个声音,当用户在一个声音中单击两次时,会创建两个媒体播放器,并且不会销毁任何声音。所以,使用循环,我必须验证是否正在播放,然后一个接一个地停止。这会消耗大量CPU。迭代1xx元素的向量不是问题。在每次迭代中,您只需要do和if子句。如果它正在播放stop else,则删除向量。。。我不知道是否还有其他可能毁灭一切。你能给我举个例子吗?我是新手。