首页 > Java > 正文

如何在另一个音频开始时使音频停止(大量音频)

PHPz
发布: 2024-02-12 14:06:05
转载
540 人浏览过

问题内容

我有 30-31 个按钮,我希望一次播放一个按钮,所以如果我单击一个按钮,它就会播放,然后当我单击另一个按钮时,无论是哪个按钮,它都会停止,这是代码示例基本上都是这样并重复,但只是数字发生变化,因此 1,2,3,4 等等:

public void Button1Text(View view) {
        Media1 = MediaPlayer.create(QuranJ30MA.this, R.raw.hannaba);
        Media1.start();
    }

    public void Button1Text2(View view) {
        Button1p = MediaPlayer.create(QuranJ30MA.this, R.raw.mannaba);
        Button1p.start();
    }
登录后复制

我确实尝试看看其他人也想做同样的事情,但由于我对java不太擅长,所以我不明白如何将它应用到我的机器上,如果要求不太多,我只是想解释一下它是如何工作的学习一下,谢谢:)

解决方法

您永远不应该创建多个 mediaplayer,它们是重量级对象并占用大量资源。相反,制作一个媒体播放器,并使用 setdatasource 更改其设置播放的声音(当然,您需要首先停止原始声音)。

接下来要改变的是构建数据。创建 ids 到声音的映射:

map<int, int> sounds = new hashmap();
sounds.put(button1id, r.raw.hannaba);
sounds.put(button2id, r.raw.mannaba);
...
登录后复制

然后就可以拥有单击功能了:

public void buttonClick(View view) {
   mediaPlayer.stop()
   mediaPlayer.setDataSource(sounds.get(view.getId())
   mediaPlayer.start()
}
登录后复制

将其设置为您想要执行的所有按钮的 onclicklistener,并且只需编写一次。

以上是如何在另一个音频开始时使音频停止(大量音频)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!