-4
我想在聲音播放完成後激活一個功能。我假設需要包含NSTimer,但我不確定如何實現它。如果你能給我一些有用的代碼,這會很有幫助。如何在給定時間後激活某個功能?
我想在聲音播放完成後激活一個功能。我假設需要包含NSTimer,但我不確定如何實現它。如果你能給我一些有用的代碼,這會很有幫助。如何在給定時間後激活某個功能?
您應該發佈您嘗試過的代碼,然後有人可以幫助您使代碼正常工作。在這種情況下,你不需要計時器來處理你正在做的事情。對玩家的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")
}
}
這就是我會推薦的。 'AVAudioPlayerDelegate'' audioPlayerDidFinishPlaying(_,successful:)'方法是當聲音播放完成後應該如何調用代碼。 –
您是否嘗試過谷歌上搜索您的問題?例如'swift nstimer'給出了很多結果。 – luk2302