2016-03-20 9 views
0

に異なる画像のサウンドを再生し、私は私がプレイしmyAudioPlayerを作成はスウィフト2:配列

var cardImages = ["bellota", "manzana", "botas"] 

画像の配列を得たが鳴り

let filePath = NSBundle.mainBundle().pathForResource("correct", ofType: "wav") 

    if let filePath = filePath 
    { 

     let filePathURL = NSURL(fileURLWithPath: filePath) 

     do { 

      try myAudioPlayer = AVAudioPlayer(contentsOfURL: filePathURL) 


     } catch { 

      print("error") 

     } 

    } 
画像を変更

次へ]ボタン

@IBAction func nextButtonTapped(sender: UIButton) { 

    if imageIndex < 0 { 

     imageIndex = maxImages 
    } 


    cardImageView.image = UIImage(named: cardImages[imageIndex]) 

    imageIndex++ 

    if imageIndex > maxImages { 

     imageIndex = 0 
    } 

    cardImageView.image = UIImage(named: cardImages[imageIndex]) 
} 

playSoundボタン: 私がこの方法でやろうとしているのは、画像cハングアップする。配列内のすべてのイメージに対して異なるサウンドを持っています。これどうやってするの?次の画像が押されたときにたとえば、「りんご」はSOUND1を再生されます、「オレンジ」は音2を再生します

@IBAction func playButtonTapped(sender: UIButton) { 


    myAudioPlayer.play() 


} 
+0

あなたのサウンドの配列を保持するのは同じコントローラーですか? – Miknash

+0

はい。それは同じコントローラ内にあります。 – Miguel

答えて

1

は機能にあなたのオーディオの読み込みを分離:

func setTrack(audioName: String){ 


    let filePath = NSBundle.mainBundle().pathForResource(audioName, ofType: "wav") 

    if let filePath = filePath 
    { 

     let filePathURL = NSURL(fileURLWithPath: filePath) 

     do { 

      try myAudioPlayer = AVAudioPlayer(contentsOfURL: filePathURL) 


     } catch { 

      print("error") 

     } 

    } 
} 

その後、nextButtonPressedに:

@IBAction func nextButtonTapped(sender: UIButton) { 

    if imageIndex < 0 { 

     imageIndex = maxImages 
    } 


    cardImageView.image = UIImage(named: cardImages[imageIndex]) 

    imageIndex++ 

    if imageIndex > maxImages { 

     imageIndex = 0 
    } 

    cardImageView.image = UIImage(named: cardImages[imageIndex]) 
    self.setTrack(audioList[imageIndex]) // or any other index you need/you have 
} 
+0

'self.setTrack(audioList [imageIndex])'のエラーメッセージが表示されます: "未解決の識別子の使用 'audioList' – Miguel

+0

audioListはあなたの曲の配列です – Miknash

+1

ありがとうございました! – Miguel