2016-04-24 4 views
-4

サウンドが再生されて完了した後に機能を有効にしたいと思います。私は、NSTimerを組み込む必要があると思っていますが、それを実現するために実装する方法がわかりません。それは私に働くいくつかのコードを与えることができれば役に立ちます。一定時間後に関数をアクティブにする方法はありますか?

+2

あなたの問題をグーグルで試しましたか?たとえば、「迅速なnstimer」は多くの結果をもたらします。 – luk2302

答えて

5

あなたが試したコードを投稿してください。そうすれば誰かがあなたのコードの動作を助けることができます。この場合、あなたがやっていることのためのタイマーは必要ありません。プレイヤーのAVAudioPlayerDelegateプロトコルは、あなたがしようとしているもののために設計されました:

import UIKit 
import AVFoundation 

class ViewController: UIViewController, AVAudioPlayerDelegate { 

    var audioPlayer:AVAudioPlayer? 

    func playSound(fileName:NSString) 
    { 
     let path = NSBundle.mainBundle().pathForResource(fileName, ofType:"wav") 
     let url = NSURL.fileURLWithPath(path!) 

     do { 
      try audioPlayer = AVAudioPlayer(contentsOfURL: url) 
      audioPlayer?.delegate = self 
      audioPlayer?.play() 
     } catch { 
      print("Player not available") 
     } 
    } 

    //MARK : AVAudioPlayerDelegate 
    func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) { 
     print("finished playing, do something else here") 
    } 
} 
+1

これも私がお勧めするものです。 'AVAudioPlayerDelegate'' audioPlayerDidFinishPlaying(_、successfully:) 'メソッドは、サウンドの再生が終了したときにコードを呼び出す方法です。 –

関連する問題