在打开URL之前播放声音

时间:2016-08-07 23:08:46

标签: ios swift sprite-kit

说明

我在打开App Store之前调用操作时遇到问题来评价我的游戏。声音不会被播放。我看过一个有效的游戏。我做错了吗?

代码

func rateGame(){

    let appIDString = "375380948"
    let reviewsURLString = "itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8&id=\(appIDString)"
    let reviewsURL = NSURL(string: reviewsURLString)

    clickSoundFX()
    UIApplication.sharedApplication().openURL(reviewsURL!)
}

func clickSoundFX(){
    self.runAction(SKAction.playSoundFileNamed("buttonClick.mp3", waitForCompletion: false))
}


提前谢谢,
路易斯。

1 个答案:

答案 0 :(得分:1)

当您启动clickSoundFX()并致电后:

UIApplication.sharedApplication().openURL(reviewsURL!)

你的游戏开始动作播放一个简单的声音但是在applicationDidEnterBackground因为打开一个外部网址而进入所有应用之后:在这个确切的时刻,你所有的游戏都处于暂停模式,这样你就可以'做任何行动。

执行代码的一种安全方法是在声音后制作暂停序列并检查完成后如下:

let wait = SKAction.SKAction.waitForDuration(1.0)
let sound = SKAction.playSoundFileNamed("buttonClick.mp3")
let seq = SKAction.sequence([sound,wait])
self.runAction(seq,completion: {
     UIApplication.sharedApplication().openURL(reviewsURL!)
})