小编Seb*_*sas的帖子

IOS SWIFT - 播放视频时录制音频,仅从麦克风录制

我有一个应用程序可以在用户同时播放视频时记录他们的音频会话,问题是视频的播放从扬声器中传出。

理想情况下,我想取消来自扬声器的音频,只通过麦克风记录用户的声音。

示例应用程序:FaceTime FaceTime 会在您进行 FaceTime 通话时取消您正在播放的音乐,并仅记录用户的声音 ( https://www.quora.com/How-does-an-iPhone-cancel-out-the-音乐你正在播放时你面对时间某人

下面是我添加音频会话以记录用户的代码:

let audioInputDevice = AVCaptureDevice.default(
    .builtInMicrophone, 
    for: .audio, 
    position: .unspecified
)
.default(for: AVMediaType.audio)!
let session = self.previewLiveCamera.cameraLayer!.session!
        
//TODO: fix Audio Input, do not mix with other video audio
do {
    audioInput = try AVCaptureDeviceInput(device: audioInputDevice!)
    session.addInput(audioInput!)
} catch {
    print("failed to add audio input")
}
        
for output in session.outputs {
    let connectionOutput = output as! AVCaptureMovieFileOutput
    self.connectionOutput = connectionOutput
    print("Started reacording to \(fileURL!)")
    self.connectionOutput.startRecording(to: fileURL!, recordingDelegate: self)        
}
Run Code Online (Sandbox Code Playgroud)

此外,我为用户同时观看的视频设置了视频播放器: …

avaudiosession avplayer swift

5
推荐指数
1
解决办法
2561
查看次数

标签 统计

avaudiosession ×1

avplayer ×1

swift ×1