如何在给定时间后激活某个功能?
答
您应该发布您尝试过的代码,然后有人可以帮助您使代码正常工作。在这种情况下,你不需要计时器来处理你正在做的事情。对玩家的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:)'方法是当声音播放完成后应该如何调用代码。 –
您是否尝试过谷歌上搜索您的问题?例如'swift nstimer'给出了很多结果。 – luk2302