如何在给定时间后激活某个功能?

如何在给定时间后激活某个功能?

问题描述:

我想在声音播放完成后激活一个功能。我假设需要包含NSTimer,但我不确定如何实现它。如果你能给我一些有用的代码,这会很有帮助。如何在给定时间后激活某个功能?

+2

您是否尝试过谷歌上搜索您的问题?例如'swift nstimer'给出了很多结果。 – luk2302

您应该发布您尝试过的代码,然后有人可以帮助您使代码正常工作。在这种情况下,你不需要计时器来处理你正在做的事情。对玩家的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(_,successful:)'方法是当声音播放完成后应该如何调用代码。 –