相关疑难解决方法(0)

添加效果后导出音频文件

我有一个音频文件,我想使用一些效果(如音高效果)处理,然后将最终结果写入文件.

在我处理文件并将其保存到光盘之前,让用户播放音高效果并实时收听变化.

这就是我做实时的事情:

let audioSession = AVAudioSession.sharedInstance()
audioSession.setCategory(AVAudioSessionCategoryPlayback, error: nil)
audioSession.setActive(true, error: nil)

audioEngine = AVAudioEngine()
audioFile = AVAudioFile(forReading: audioUrl!, error: nil)

audioPlayerNode = AVAudioPlayerNode()
audioEngine.attachNode(audioPlayerNode)

changePitchEffect = AVAudioUnitTimePitch()
changePitchEffect.pitch = 1.0 // default
audioEngine.attachNode(changePitchEffect)

audioEngine.connect(audioPlayerNode, to: changePitchEffect, format: nil)
audioEngine.connect(changePitchEffect, to: audioEngine.outputNode, format: nil)

let frameCapacity = UInt32(audioFile.length)
let buffer = AVAudioPCMBuffer(PCMFormat: audioFile.processingFormat, frameCapacity: frameCapacity)
if audioFile.readIntoBuffer(buffer, error: nil) {

    audioEngine.startAndReturnError(nil)

    audioPlayerNode.scheduleBuffer(buffer, atTime: nil, options: .Loops, completionHandler: nil)

    audioPlayerNode.play() // start playing in a loop
}
Run Code Online (Sandbox Code Playgroud)

然后使用UISlider我让用户在循环中聆听音频的同时改变音高的值. …

avfoundation ios swift avaudioengine

12
推荐指数
1
解决办法
1332
查看次数

核心音频离线渲染GenericOutput

任何人都使用core-Audio成功完成了离线渲染.

我不得不混合两个音频文件并应用混响(使用2 AudioFilePlayer,MultiChannelMixer,Reverb2和RemoteIO).搞定了.我可以在预览时保存它(在RemoteIO的renderCallBack上).

我需要保存它而不播放它(离线).提前致谢.

core-audio ios

10
推荐指数
2
解决办法
5152
查看次数

标签 统计

ios ×2

avaudioengine ×1

avfoundation ×1

core-audio ×1

swift ×1