您如何检测 Phaser 中是不是正在播放任何音乐?

Posted

技术标签:

【中文标题】您如何检测 Phaser 中是不是正在播放任何音乐?【英文标题】:How can you detect wether any music is playing in Phaser?您如何检测 Phaser 中是否正在播放任何音乐? 【发布时间】:2022-01-23 10:32:08 【问题描述】:

在我的游戏中,我有时想播放音乐。但不应覆盖已经播放的音乐。

那我该怎么办

    检查音乐是否正在播放 管理声音

理想情况下在像this.sound这样的全局接口中

提前致谢

【问题讨论】:

【参考方案1】:

html5Audiosound 拥有isPlaying 成员。

// inside scene method, create sound
const music = this.sound.add('music-name', );
music.play();

// and later
if(music.isPlaying) 


看 https://newdocs.phaser.io/docs/3.54.0/Phaser.Sound.HTML5AudioSound#isPlaying 和 https://newdocs.phaser.io/docs/3.52.0/Phaser.Sound.HTML5AudioSoundManager

this.soundHTML5AudioSoundManager 实例)

【讨论】:

但是我可以通过这个 API 访问所有的声音吗? @MoPaMo 播放声音的唯一方法是通过HTML5AudioSoundManager 添加它。因此,您将可以访问所有声音。另外,请注意music-name 不是文件名,它的资源键由scene.load.audio(key, url); 加载

以上是关于您如何检测 Phaser 中是不是正在播放任何音乐?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测其他应用程序是不是正在播放背景音频?

如何检查音频队列中的音乐是不是正在播放或暂停

Phaser 2 - 如何检测我何时拖动另一个精灵?

检测 Android/iOS 设备是不是已经通过 Unity3D 播放音乐

在IOS中运行音乐时检测电话已完成

如何检测Windows XP机器上是不是播放任何声音