2016-08-09 18 views
1

このプログラムは以前から動作していましたが、何も変更したとは思いません。ここにコードがあります。ファイルが見つかりません:bgMusicAVAudioPlayerがもう動作しません

import SpriteKit 
import AVFoundation 

class GameScene: SKScene, SKPhysicsContactDelegate { 

    var backgroundMusicPlayer = AVAudioPlayer() 

    func playBackgroundMusic(filename: String) { 
     let url = NSBundle.mainBundle().URLForResource(filename, withExtension: nil) 
     guard let newURL = url else { 
      print("Could not find file: \(filename)") 
      return 
     } 
     do { 
      backgroundMusicPlayer = try AVAudioPlayer(contentsOfURL: newURL) 
      backgroundMusicPlayer.numberOfLoops = -1 
      backgroundMusicPlayer.prepareToPlay() 
      backgroundMusicPlayer.play() 
     } catch let error as NSError { 
      print(error.description) 
     } 
    } 


    override init(size: CGSize) { 
     super.init(size: size) 

     playBackgroundMusic("bgMusic") 
} 

答えて

0

代わりにファイルパスを取得してみてください。これは毎回私のために働く。

//Change 'ofType' to whatever the file type is. (.m4a, .mp3, etc.) 
let path = NSBundle.mainBundle().pathForResource(filename, ofType: ".mp3") 
let url = NSURL.fileURLWithPath(path!) 

次に、AVAudioPlayerにURLを読み込みます。

これでうまくいかない場合は、ファイル名が正しいこととプロジェクトに追加されていることを確認してください。運が良かった!

+0

"オプションの値 'String?'の値アンラップされていない;あなたは '!'または '?'? "これは2行目にあります –

+0

オプションを '!'パスの後。追加したファイルがあると想定するのは安全です。クラッシュした場合、ファイルがプロジェクトに正しくないか、ファイル名が間違っている可能性があります。 –

関連する問題