相关疑难解决方法(0)

iOS Swift中简单的低延迟音频播放

我是iOS的初学者,我正在尝试用Swift设计一个鼓组应用程序.我用一个按钮设计了一个视图并编写了下面的代码,但它有一些问题:

  1. 当我像滚筒一样快速触摸按钮时,有些声音会丢失.
  2. 仍处于"鼓声"中,每次触摸按钮时声音都会中断,而不是让样本播放直到结束.例如,钹卷很糟糕.即使我再次触摸按钮,我也希望听到每个样本完全响起.
  3. 触摸和声音之间存在延迟.我知道这AVAudioPlayer是不是低延迟音频的最佳选择,但作为一个初学者,它很难学OpenAL,AudioUnit没有代码示例或教程Swift.问题与此类似:我应该使用哪种框架在iOS中播放低延迟的音频文件(WAV,MP3,AIFF)?.

代码:

override func viewDidLoad() {
    super.viewDidLoad()

    // Enable multiple touch for the button
    for v in view.subviews {
        if v.isKindOfClass(UIButton) {
            v.multipleTouchEnabled = true
        }
    }

    // Init audio
    audioURL = NSBundle.mainBundle().URLForResource("snareDrum", withExtension: "wav")!
    do {
        player = try AVAudioPlayer(contentsOfURL: audioURL)
        player?.prepareToPlay()
    } catch {
        print("AVAudioPlayer Error")
    }
}

override func viewDidDisappear(animated: Bool) {
    super.viewDidDisappear(animated)

    player?.stop()
    player = nil
}

@IBAction func playSound(sender: UIButton) {
    player?.currentTime …
Run Code Online (Sandbox Code Playgroud)

audio avaudioplayer low-latency ios swift

4
推荐指数
1
解决办法
3211
查看次数

标签 统计

audio ×1

avaudioplayer ×1

ios ×1

low-latency ×1

swift ×1