如何将音频效果应用于文件并写入文件系统 – iOS

如何将音频效果应用于文件并写入文件系统 – iOS,第1张

概述我正在构建一个应用程序,允许用户将音频过滤器应用于录制的音频,例如Reverb,Boost. 我无法找到有关如何将过滤器应用于文件本身的任何可行信息来源,因为以后需要将处理后的文件上传到服务器. 我目前正在使用AudioKit进行可视化,我知道它能够进行音频处理,但仅限于播放.请提供任何进一步研究的建议. AudioKit有一个不需要iOS 11的离线渲染节点.这是一个例子,需要player.sc 我正在构建一个应用程序,允许用户将音频过滤器应用于录制的音频,例如Reverb,Boost.

我无法找到有关如何将过滤器应用于文件本身的任何可行信息来源,因为以后需要将处理后的文件上传到服务器.

我目前正在使用AudioKit进行可视化,我知道它能够进行音频处理,但仅限于播放.请提供任何进一步研究的建议.

解决方法 AudioKit有一个不需要iOS 11的离线渲染节点.这是一个例子,需要player.schedule(…)和player.start(at.)位,因为AKAudioPlayer的底层AVAudioPlayerNode将阻塞调用线程等待如果你用player.play()启动它,那么下一个渲染.
import UIKitimport AudioKitclass VIEwController: UIVIEwController {    var player: AKAudioPlayer?    var reverb = AKReverb()    var boost = AKBooster()    var offlineRender = AKOfflineRenderNode()    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        guard let url = Bundle.main.url(forResource: "theFunkIEstFunkingFunk",withExtension: "mp3") else {            return        }        var audiofile: AKAudiofile?        do {            audiofile = try AKAudiofile.init(forReading: url)            player = try AKAudioPlayer.init(file: audiofile!)        } catch {            print(error)            return        }        guard let player = player else {            return        }        player >>> reverb >>> boost >>> offlineRender        AudioKit.output = offlineRender        AudioKit.start()        let docs = fileManager.default.urls(for: .documentDirectory,in: .userDomainMask).first!        let dstURL = docs.appendingPathComponent("rendered.caf")        offlineRender.internalRenderEnabled = false        player.schedule(from: 0,to: player.duration,avTime: nil)        let sampleTimeZero = AVAudioTime(sampleTime: 0,atRate: AudioKit.format.sampleRate)        player.play(at: sampleTimeZero)        do {            try offlineRender.renderToURL(dstURL,seconds: player.duration)        } catch {            print(error)            return        }        offlineRender.internalRenderEnabled = true        print("Done! Rendered to " + dstURL.path)    }}
总结

以上是内存溢出为你收集整理的如何将音频效果应用于文件并写入文件系统 – iOS全部内容,希望文章能够帮你解决如何将音频效果应用于文件并写入文件系统 – iOS所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1108844.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存