Ios 使用AVAudioRecorder会中断AVCaptureSession上的音频
我正在尝试录制音频/视频会话,同时监视音频级别。我设置了我的Ios 使用AVAudioRecorder会中断AVCaptureSession上的音频,ios,objective-c,swift,avaudiosession,avcapturedevice,Ios,Objective C,Swift,Avaudiosession,Avcapturedevice,我正在尝试录制音频/视频会话,同时监视音频级别。我设置了我的AVCaptureSession输入 do { try captureSession.addInput(AVCaptureDeviceInput(device: captureDevice)) } catch { print("error adding video") } audioDevice = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAud
AVCaptureSession
输入
do {
try captureSession.addInput(AVCaptureDeviceInput(device: captureDevice))
} catch {
print("error adding video")
}
audioDevice = AVCaptureDevice.defaultDevice(withMediaType: AVMediaTypeAudio)
do {
let audioInput = try AVCaptureDeviceInput(device: audioDevice)
captureSession.addInput(audioInput)
} catch {
print("error adding audio")
}
这很有效。但一旦我通过添加以下内容来启用计量
recordingSession = AVAudioSession.sharedInstance()
我丢失了录像带上的音频
我试图从录音机中查找CaptureDevice
,但找不到,也找不到CaptureSession中的可用性
有人能告诉我解决方案吗?您不需要录音机。您可以从captureOutput:didOutputSampleBuffer获取视频和音频。如果您想要音频级别,可以在音频通道中调用averagePowerLevel。我可能在这些类中迷失了方向,但尽管文档中说AVCaptureFileOutput具有用于使用此协议分配代理的委托属性,但我的Xcode告诉我它没有。
audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
audioRecorder.delegate = self
audioRecorder.record()
audioRecorder.isMeteringEnabled = true