Tôi có tệp âm thanh mà tôi muốn xử lý bằng một số hiệu ứng (như hiệu ứng quảng cáo chiêu hàng) và sau đó ghi kết quả cuối cùng vào tệp.Xuất tệp âm thanh sau khi thêm hiệu ứng
Trước khi xử lý tệp và lưu tệp vào đĩa, tôi cho phép người dùng chơi với hiệu ứng quảng cáo chiêu hàng và lắng nghe những thay đổi trong thời gian thực.
đây là cách tôi làm những thứ theo thời gian thực:
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
}
sau đó sử dụng một UISlider
tôi cho phép người dùng thay đổi giá trị của sân trong khi nghe âm thanh trong một vòng lặp.
Vì vậy, khi người dùng kết thúc chơi với quảng cáo chiêu hàng và nhấn vào nút tiếp theo, tôi cần lưu tệp âm thanh với giá trị độ cao đã chọn.
Câu hỏi của tôi là, làm cách nào để tạo tệp âm thanh mới có hiệu ứng quảng cáo chiêu hàng?
Tôi không muốn ghi lại khi người dùng đang nghe âm thanh và chơi với các hiệu ứng sân, tôi chỉ muốn xuất kết quả cuối cùng (không chơi các tập tin tất nhiên)
10x để nhận xét yr nhưng liên quan đến tùy chọn đầu tiên, như tôi đã viết, tôi không muốn ghi trong khi phát. tùy chọn thứ hai không rõ ràng với tôi và tôi hiểu rằng tôi sẽ không thể sử dụng hiệu ứng quảng cáo chiêu hàng – Eyal