在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()。这被称为每当你的应用程序进入后台,主页按钮或后退按钮或来电或厄运魔术雷云。

+0

我以前用过这个,但是我不知道如何停止正在播放的声音,因为地图我不知道单个文件要暂停。大声笑doomclouds – Colby 2011-04-05 00:06:24