我自己也遇到過這個問題。僅供參考,我的解決方案很快,所以如果您仍在使用它,請將其轉換爲Objective C。
對我來說,我的解決方案包括兩個部分。首先,我必須在場景文件的didMoveToView函數中初始化我的SoundAction SKAction。所以,你的場景文件應該是這個樣子:
import SpriteKit
import GameKit
import AVFoundation
class GameScene: SKScene, SKPhysicsContactDelegate {
var sSharedShootSoundAction: SKAction = SKAction()
override func didMoveToView(view: SKView) {
/* Setup your scene here */
sSharedShootSoundAction = SKAction.playSoundFileNamed("plane_shoot.aiff", waitForCompletion: false)
}
}
然後在您的AppDelegate文件,你需要將下面的代碼行中的應用程序didFinishLaunchingWithOptions功能。 (請勿忘記導入您的APPDELEGATE AVFOUNDATION)。所以你的應用代理方法應該像這樣:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
// INSERT THIS LINE BELOW.
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
return true
}
希望這能爲你解決它,就像它爲我做的那樣!讓我知道如果它不。
是否預裝了該音頻文件? – prototypical
不,這不是... –
嘗試預加載它... :) – prototypical