我的代码非常简单:
import UIKit
import AVFoundation
class VC: UIViewController {
var player:AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let url = NSURL.fileURLWithPath(NSBundle.mainBundle().pathForResource("audioName", ofType: "mp3")!)
do{
try player = AVAudioPlayer(contentsOfURL: url)
print("duration", player.duration)// duration 200
player.prepareToPlay()
player.playAtTime(50.0)
}catch{
}
}
}
当调用player.play()时,音频可以正常播放。 我不知道为什么playAtTime功能不起作用。 请帮忙!
答案 0 :(得分:1)
func playAtTime(time: NSTimeInterval) -> Bool
这个功能是为了在未来的某个时间播放声音,基于和大于deviceCurrentTime,我建议尝试:
player.playAtTime(player.currentTime + 50.0)
答案 1 :(得分:0)
playAtTime将来播放声音,相对于设备的当前时间指定。因此,时间参数需要是当前设备时间加上您所需的延迟(以秒为单位):
player.playAtTime(player.currentDeviceTime + 50)
初始化播放器时,player.currentTime将为0,因此这不是要使用的属性。
Apple doc是here