我的应用程序可以录制聊天中的音频并将其保存在文件中。我在应用程序屏幕上录制了一些音乐,但是当我播放 audio.m4a 文件时,没有声音出来。该文件显示为“Apple MPEG-4 音频”,大小为 12KB。是我设置错了吗?提前致谢。
编辑:我添加了停止录制功能。
\n
答案 0 :(得分:2)
根据您的评论,您绝对不需要六声道音频。试试这些更简单的单声道音频设置。
let audioSettings: [String : Any] = [
AVNumberOfChannelsKey: 1,
AVFormatIDKey: kAudioFormatMPEG4AAC,
AVSampleRateKey: 44100,
AVEncoderBitRateKey: 128000,
]
你没有说这是在 iOS 还是 macOS 上。您在 macOS 上遇到了问题,因为从 11.2.1 开始,没有捕获 .audioApp
缓冲区。如果你仍然想要麦克风,你可以配置:
let recorder = RPScreenRecorder.shared()
recorder.isMicrophoneEnabled = true
recorder.startCapture(handler: { (sample, bufferType, error) in
if bufferType == .audioMic {
// etc
}
})
不要费心检查写入器状态,只需在可以时附加缓冲区
if audioInput.isReadyForMoreMediaData {
if !audioInput.append(sample) {
// do something
}
}
以前
您需要在某个时候调用 assetWriter.finishWriting
。
有趣的是,您有 6 通道输入。您使用的是特殊设备还是某种虚拟设备?