我想一边录一边保存录音,比如说每 3 秒保存一次成 mp3 或 pcm 档。最后做成串流语音的效果
知道官方接口 Audio Queue Services 的音频队列可以实现,但网上找不到相关范例。
有技术大牛可以给我指点一下吗?
Swift 如何使用 Audio Queue Services 保存录音
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-04 15:27关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
要使用AudioQueueServices来录制和保存声音,您需要在您的应用程序中添加AudioQueueService的框架。然后,您可以创建一个AudioQueueService对象,并将其与AudioSession一起使用以控制何时开始和停止录制。
以下是一个简单的示例,说明如何创建一个AudioQueueService并开始录制:
import AVFoundation // 创建一个AudioQueueService实例 let audioQueue = AVAudioQueue() // 创建一个AudioSession实例 let session = AVAudioSession.sharedInstance() session.setCategory(AVAudioSession.Category.record, mode: .measurement, options: []) // 创建一个AudioRecorder实例 let recorder = try! AVAudioRecorder(audioQueue: audioQueue) // 设置录音格式和速率 recorder.defaultFormat = .linearPCM recorder.sampleRate = 44100 recorder.outputFormat = .pcmFloat32 // 开始录音 recorder.prepareToRecord() try! recorder.startRecording(to: URL(fileURLWithPath: "/path/to/output.mp3")) // 在这里你可以监听到录音的状态变化,例如是否已经结束请注意,这只是一个基本的示例,实际的录音可能需要更多的错误处理和其他功能。此外,为了防止内存泄漏,您应该在应用程序退出时释放所有资源。
解决 无用评论 打赏 举报