【问题标题】:Pause MediaPlayer when using a Map in android app在 Android 应用中使用地图时暂停 MediaPlayer
【发布时间】:2011-04-04 23:43:44
【问题描述】:

我正在使用地图构建一个包含大约 40 种声音的音板。 (Previous thread)

如果应用程序移到后台(来电或类似情况),是否有人知道暂停重启 Mediaplayer 的好方法?我对此还是很陌生,所以这可能是超级简单的事情。感谢任何可以提供帮助的人。

地图地图=新

HashMap();

map.put(R.id.button1, R.raw.sound1);

map.put(R.id.button2, R.raw.sound2);

...

然后迭代:

for (Map.Entry 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();

    }

}); 

}

【问题讨论】:

    标签: android map media-player


    【解决方案1】:

    我假设您不想一起播放所有声音,因此您可以在循环之外声明 mediaplayer 对象,然后您不需要知道正在播放哪个文件。您可以使用sound.pause(); sound.stop(); 或sound.reset();(取决于您要执行的操作)我建议您查看android docs 以了解如何正确实施。

    如果你想为每个文件创建媒体播放器我怀疑你想要,请将媒体播放器保存在地图/列表中,并在onPause() 期间循环暂停/重置它们。

    【讨论】:

      【解决方案2】:

      覆盖Activity.onPause()。每当您的应用程序进入后台、主页按钮或返回按钮或来电或末日魔法雷云时,都会调用此方法。

      【讨论】:

      • 我以前用过,但我不知道如何停止正在播放的声音,因为地图我不知道要暂停单个文件。大声笑毁灭之云
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多