首页 > Java > 正文

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

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

问题内容

我有 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中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:stackoverflow网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号