Function 如何停止或暂停播放音乐敏捷的
我需要知道当按下暂停按钮时,如何停止或暂停正在播放游戏主题曲的SKAction。我使用的代码是为了在按下按钮但按钮不工作时删除操作。这段代码在我的游戏场景类中Function 如何停止或暂停播放音乐敏捷的,function,audio,swift,Function,Audio,Swift,我需要知道当按下暂停按钮时,如何停止或暂停正在播放游戏主题曲的SKAction。我使用的代码是为了在按下按钮但按钮不工作时删除操作。这段代码在我的游戏场景类中 func startGameMusic() { runAction (SKAction.playSoundFileNamed("theme.mp3", waitForCompletion: true), withKey: "themeSong") } func stopGameMusic() { self.removeA
func startGameMusic() {
runAction (SKAction.playSoundFileNamed("theme.mp3", waitForCompletion: true), withKey: "themeSong")
}
func stopGameMusic() {
self.removeActionForKey ("themeSong")
}
当在GameViewController类中按下暂停按钮时,将调用stopGameMusic函数
@IBAction func didPause(sender: UIButton) {
if self.scene.paused == false{
self.scene.stopTicking()
self.scene.paused = true
self.scene.stopGameMusic()
}
}
或:
我自己刚刚完成了暂停按钮的编码;看起来像是Swiftris的演示。我是从视图控制器而不是场景中完成的。播放一次的声音会在视图控制器中进行编码,就像游戏结束一样,所以为什么不将它们放在一个位置呢?我为音频添加了以下几行代码:
import AVFoundation
然后在类函数中
var backgroundAudio = AVPlayer(URL:NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("theme",ofType:"mp3")!))
var gameStatus:Bool = true
然后在我的IBAction函数中链接到一个暂停按钮
if(gameStatus == true {
scene.stopTicking()
backgroundAudio.pause()
gameStatus = false
else {
scene.startTicking()
backgroundAudio.play()
gameStatus = true
}
说明:AVFoundation为您提供了大量的音频/视频工具
gameStatus变量让我知道它是否已暂停。真=开
如果打开并按下“暂停”,则场景停止滴答声,音频暂停,游戏状态变为“关闭”。
如果游戏状态为false,则该按钮将激活场景计时器并在其停止的位置拾取音频。游戏恢复后,gameStatus将设置为true。尚未添加主题曲的run forever功能。如何知道是否正在调用didPause?它与按钮的动作有关吗?添加NSLog或调试器断点以确认调用了didPause。是的,之所以调用didPause,是因为屏幕上的项目随着每次勾号移动,并且当您按下调用函数停止勾号的按钮时,它们停止移动任何帮助?我不知道为什么你的StartMemusic中没有删除这个函数,你指定的waitForCompletion:true。也许你不能停下来,因为玩家一直玩到游戏结束——没有中断。试试false,然后看看是否可以暂停。不,很遗憾,这不起作用
if(gameStatus == true {
scene.stopTicking()
backgroundAudio.pause()
gameStatus = false
else {
scene.startTicking()
backgroundAudio.play()
gameStatus = true
}