在XCODE 8 Swift 3中为倒数计时器添加音调

时间:2017-02-14 01:54:58

标签: ios swift3 xcode8 countdowntimer

我是编码的新手。我正在尝试学习iOS开发,我创建了一个简单的倒计时器,它使用滑块选择以秒为单位的时间量。我想在倒计时的最后9秒添加一个音调。我知道如何添加音频文件,但我有“没有想法”如何在计时器的最后9秒添加倒计时音。

@IBAction func startBtnTapped(_ sender: Any) {
    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.counter), userInfo: nil, repeats: true)

    SoundPlayer4.play()

    //Hide Start and Slider Buttons
    startBtn.isHidden = true
    sliderCtrl.isHidden = true
    stopBtn.isHidden = false

}

@IBAction func stopBtnTapped(_ sender: Any) {
    timer.invalidate()
    seconds = 180
    sliderCtrl.setValue(180, animated: true)
    timerLbl.text = "180"

    SoundPlayer3.play()

    //Show Start and Slider Buttons
    sliderCtrl.isHidden = false
    startBtn.isHidden = false
    stopBtn.isHidden = true
}

@IBAction func sliderCrtlUsed(_ sender: UISlider) {
    seconds = Int(sender.value)
    timerLbl.text = String(seconds)
}

func counter(){
    seconds -= 1
    timerLbl.text = String(seconds)

    if (seconds == 0){
        timer.invalidate()

        //Show Start and Slider Buttons
        startBtn.isHidden = false
        sliderCtrl.isHidden = false
        stopBtn.isHidden = true

        //Play Audio
        SoundPlayer1.play()
    }
}

那么有人可以帮助我为我的项目添加倒计时音吗? 谢谢

1 个答案:

答案 0 :(得分:0)

将此代码放入counter函数:

if seconds < 10 {

    var AudioURL = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Dog bark", ofType: "mp3")!)
    var AudioPlayer = AVAudioPlayer()

    do {       
        AudioPlayer = try AVAudioPlayer(contentsOfURL: AudioURL)
    } catch _ as NSError {
        fatalError()
    }

    AudioPlayer.play()
}

然后把文件放在这里:

enter image description here

那就是它!

  

您可以阅读有关此问题的更多信息here