gpt4 book ai didi

objective-c - 同时使用 AVCaptureSession 和 Playback Audio 录制音频/视频?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:06 27 4
gpt4 key购买 nike

我正在尝试创建一个 iOS 应用程序,它可以录制音频和视频,同时将音频输出到扬声器。

为了进行录制和预览,我使用了 AVCaptureSession,一个用于视频和音频的 AVCaptureConnection,以及一个 AVAssetWriterInput对于视频和音频。我基本上是通过遵循 RosyWriter 示例代码实现的。

在以这种方式设置录音之前,我使用 AVAudioPlayer 播放音频。

现在,如果我正在捕捉(甚至不是录音,只是捕捉预览),并尝试使用 AVAudioPlayer,我的 captureOutput 回调 AVCaptureAudioDataOutputSampleBufferDelegate 类停止调用。

有解决办法吗?

我应该使用另一个较低级别的服务来播放不会停止捕获的音频吗?

MC.

最佳答案

您首先设置AVAudioSession 及其类别。例如在viewDidLoad 方法中,

AVAudioSession *session = [AVAudioSession sharedInstance];
[session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers|AVAudioSessionCategoryOptionDefaultToSpeaker error:nil];

所以你可以播放BGM

    self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:music_url error:nil];
[self.player setDelegate:self];
[self.player play];

录制电影

    self.captureSession = [[AVCaptureSession alloc] init];
/* ... addInput AVCaptureDeviceInput AVMediaTypeVideo & AVMediaTypeAudio */
/* ... addOutput */
[self.captureSession startRunning];
AVCaptureMovieFileOutput *m_captureFileOutput =[self.captureSession.outputs objectAtIndex:0];
[m_captureFileOutput startRecordingToOutputFileURL:saveMovieURL recordingDelegate:self];

关于objective-c - 同时使用 AVCaptureSession 和 Playback Audio 录制音频/视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com