使用AVAudioEngine录制音频文件

我想使用AVAudioEngine录制音频文件。因此它将是从麦克风到输出文件。稍后,我将添加一些效果。但是目前,我只想使其起作用。

谁能为我提供步骤或示例代码,以便我可以开始?

罗曼·索平

这是我的简单解决方案。输出文件将位于文档目录中。请注意,为简洁起见,我删除了错误处理。

var engine = AVAudioEngine()
var file: AVAudioFile?
var player = AVAudioPlayerNode() // if you need play record later

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    file = AVAudioFile(forWriting: URLFor("my_file.caf")!, settings: engine.inputNode.inputFormatForBus(0).settings, error: nil)
    engine.attachNode(player)
    engine.connect(player, to: engine.mainMixerNode, format: engine.mainMixerNode.outputFormatForBus(0)) //configure graph
    engine.startAndReturnError(nil)
}

@IBAction func record(sender: AnyObject) {
    engine.inputNode.installTapOnBus(0, bufferSize: 1024, format: engine.mainMixerNode.outputFormatForBus(0)) { (buffer, time) -> Void in
        self.file?.writeFromBuffer(buffer, error: nil)
        return
    }
}

@IBAction func stop(sender: AnyObject) {
    engine.inputNode.removeTapOnBus(0)
}


func URLFor(filename: String) -> NSURL? {
    if let dirs : [String] = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.AllDomainsMask, true) as? [String] {
        let dir = dirs[0] //documents directory
        let path = dir.stringByAppendingPathComponent(filename)
        return NSURL(fileURLWithPath: path)
    }
    return nil
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在iPhone中使用AudioBuffer写入从麦克风本地录制的音频文件?

来自分类Dev

我如何从ListView播放录制的音频文件

来自分类Dev

在iOS中将录制的音频文件转换为.wav格式

来自分类Dev

您如何在iOS上录制PCM音频文件?

来自分类Dev

使用Swift播放随机音频文件

来自分类Dev

无法使用AVAssetExportSession修剪音频文件

来自分类Dev

使用AVAudioEngine反复播放音频文件

来自分类Dev

验证音频文件

来自分类Dev

如何上传录制的音频文件进行解析?

来自分类Dev

提供音频文件

来自分类Dev

如何使用pdo将录制的音频文件上传到数据库

来自分类Dev

使用UIActivityViewController共享音频文件

来自分类Dev

我如何获得录制音频文件的最大限制?

来自分类Dev

如何转换音频文件中的录制视频或现有视频?

来自分类Dev

使用Ruby处理音频文件

来自分类Dev

如何从jsp页面录制音频文件

来自分类Dev

在iOS中将录制的音频文件转换为.wav格式

来自分类Dev

在录制的音频文件中找到立体声输出中的延迟

来自分类Dev

无法使用AVAssetExportSession修剪音频文件

来自分类Dev

连接音频文件

来自分类Dev

FFmpeg使用外部音频文件替换音频中的通道

来自分类Dev

录制和保存音频文件,而无需替换其他文件

来自分类Dev

录制后找不到音频文件

来自分类Dev

Android:-将录制的音频文件转换为float数组

来自分类Dev

使用AVAudioPlayer播放多个音频文件

来自分类Dev

我可以录制 Skype 通话,但可以单独录制音频文件吗?

来自分类Dev

识别音频文件

来自分类Dev

使用 Intent 共享音频文件

来自分类Dev

在树莓派 Windows IOT 上以 mp3 格式录制音频文件

Related 相关文章

热门标签

归档