播放时限制音频持续时间

时间:2018-01-23 09:12:22

标签: ios swift avfoundation

我正在尝试使用可以播放不同声音的Swift 4构建iOS应用程序。我需要做的一部分是根据某些设置限制播放的声音文件的持续时间。

我想知道的是,如果可以在播放之前设置声音的持续时间,那么它可以在设定的持续时间后停止。如果是这样,怎么样?

我目前正在使用Swift的 AVAudioPlayer ,但我不知道它是否可以做到。我目前的代码如下所示:

// resName set depending on settings

url = Bundle.main.url(forResource: resName, withExtension: "mp3")

do{
    audioPlayer = try AVAudioPlayer(contentsOf: url!)
    audioPlayer.prepareToPlay()
    audioPlayer.currentTime = 0
} catch let error as NSError{
    print(error.debugDescription)
}

audioPlayer.play()

提前感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

好吧,既然你可以控制播放声音,那么处理它的一种方法就是在你开始播放时运行一个let timeLimit = 1.6 // get it from settings player.play() Timer.scheduledTimer(withTimeInterval: timeLimit, repeats: false) { (timer) in player.stop() } ,在给定的时间段停止播放之后:

timer

如果您需要取消它,可以保留对timer.invalidate()的引用,并使用Fetch.Response.json取消它。

答案 1 :(得分:-2)

作为音频工程师,我建议您将音频编辑为您希望它完全避免编码时可能发生的任何不需要的瑕疵。