当前位置:  开发笔记 > IOS > 正文

在Spritekit Swift中停止音频

如何解决《在SpritekitSwift中停止音频》经验,为你挑选了1个好方法。

我使用以下代码在我的MENU SKScene上播放音乐:

在SKScene下,我宣布音乐动作:

class MENU: SKScene {
let action: SKAction = SKAction.playSoundFileNamed("gameMusic.wav", waitForCompletion: false)

在触摸开始的方法中,我在触摸按钮时播放声音.

    self.runAction(action, withKey:"stopIce")

在我的didMoveToView下:我有以下代码在MENU场景加载时停止音乐.

    self.removeActionForKey("stopIce")

当我触摸MENU SkScene上的按钮并转到我的关卡场景时,音乐播放完美.但是,当我转换回按钮所在的MENU Skene时,代码不会停止音乐?

self.removeActionForKey("stopIce")

我想在你回到MENU场景时停止所有声音,这样如果玩家触摸按钮再次转到Level SKScene,音乐就不会同时播放2首曲目.谢谢 :)



1> TwoStraws..:

如果你能够瞄准iOS 9,那就有一个非凡的解决方案:SKAudioNode.它可以让您随时播放音乐并停止播放,并在连接到节点时自动循环播放.

要尝试一下,请创建一个这样的属性:

var backgroundMusic: SKAudioNode!

然后将其添加到didMoveToView():

backgroundMusic = SKAudioNode(fileNamed: "music.m4a")
addChild(backgroundMusic)

这就是开始玩所需要的一切!如果要停止,请使用:

backgroundMusic.runAction(SKAction.stop())

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有