在Android应用程序中使用地图时暂停MediaPlayer
问题描述:
我正在使用地图构建包含约40种声音的音板。 (Previous thread)在Android应用程序中使用地图时暂停MediaPlayer
有没有人知道一个好的方法来暂停重新启动Mediaplayer如果应用程序被移动到后台(来电或类似的东西)?我在这方面还很新,所以它可能是一个超级简单的东西。感谢任何人可以帮助。
地图地图=新
HashMap中();
map.put(R.id.button1,R.raw.sound1);
map.put(R.id.button2,R.raw.sound2);
...
,然后遍历:
为(Map.Entry的条目:map.entrySet()){
final MediaPlayer sound = MediaPlayer.create(entry.getValue()); Button button = (ImageButton) findViewById(entry.getKey()); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sound.start(); } });
}
答
我假设您不想一起播放所有声音,因此您可以在循环外声明mediaplayer对象,然后不需要知道正在播放哪个文件。您可以使用sound.pause();
sound.stop();
或sound.reset();
(取决于您要预成型的动作)我建议您查看android docs以了解如何正确实施它。
如果你想为每个文件你想我怀疑创建媒体播放器,保存mediaplayers在图/表和暂停/时onPause()
在循环重置。
答
替代Activity.onPause()
。这被称为每当你的应用程序进入后台,主页按钮或后退按钮或来电或厄运魔术雷云。
我以前用过这个,但是我不知道如何停止正在播放的声音,因为地图我不知道单个文件要暂停。大声笑doomclouds – Colby 2011-04-05 00:06:24