在Phaser中循环播放音频

时间:2015-12-10 19:41:56

标签: javascript audio phaser-framework

我刚刚开始用Phaser制作一个简单的平台游戏,我是新手。

我设法让音乐播放,但无法让它循环播放,Google也没有帮助。

继承我使用的音频代码,有什么建议吗?

game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);

music = game.add.audio('hotttt');

music.play();

5 个答案:

答案 0 :(得分:4)

您需要创建一个新的Phaser.Sound对象并启用loop

game.load.audio('hotttt', ['assets/audio/hotttt.mp3', 'assets/audio/hotttt.ogg']);

// *true* param enables looping
music = new Phaser.Sound(game,'hotttt',1,true);

music.play();

您可以参考文档 - https://groups.google.com/forum/#!msg/realm-java/WyHJHLOqK2c/WJFYvglIGk0J

答案 1 :(得分:4)

首先,像你一样加载音频文件,然后为音频本身创建实例。

示例:

game.load.audio('background_music', ['assets/sounds/background_music.mp3', 'assets/sounds/background_music.wav']);

backgroundMusic = game.add.audio('background_music');
backgroundMusic.loop = true; // This is what you are lookig for
backgroundMusic.play();

希望它有所帮助!

答案 2 :(得分:4)

根据docs for v2.4.4(我用2.6.1测试过),您可以将额外的参数传递给class Mainview: UIviewcontroller{ // get the timer value that I want to countdown, e.g 15 mins // then I will pass the the value to the cell class } class TimerCell : UIcollectionviewcell{ func timerRunning() { timeRemaining = timeRemaining - 1 if (timeRemaining > 0) { let minutesLeft = Int(self.timeRemaining) / 60 % 60 let secondsLeft = Int(self.timeRemaining) % 60 self.timerLabel.text = "Refreshes in \(minutesLeft):\(secondsLeft)" } func runtime(){ timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerRunning), userInfo: nil, repeats: true) RunLoop.current.add(timer, forMode: RunLoopMode.commonModes) } } 函数进行循环

实施例

game.add.audio()

这对我来说很好

答案 3 :(得分:2)

对我有用的最佳解决方案是:

music = game.add.audio('yourMusicFile');
music.loopFull()

答案 4 :(得分:1)

任何正在使用Phaser 3线程的人。

在preload()中加载音乐

this.load.audio('musicaudio', 'assets/musicl.mp3');

然后使用您自己的函数或create()

var music = this.sound.add('musicaudio');
music.setLoop(true);
music.play();

我还不太了解初始化音频的机制,但为了在Chrome环境中进行初始化,我必须在初始配置声明中进行设置。

audio: {
        disableWebAudio: true,
        noAudio: false
    },

P.S。我读过某个地方,您不应使用mp3循环播放,但对我来说效果很好。也许有短暂的停顿。