从 AVPlayer 中当前播放的视频录制流式音频

Record Streaming Audio from currently playing video in AVPlayer

很多类似的问题,但不完全相同。

我目前的代码设置可以通过 AVPlayer 播放视频。

我想做的是以某种方式提取流视频的音频并最终与麦克风输入合并(使用 AVAudioMixer?)。 (想想卡拉 OK 应用程序)所以当用户播放录音时,它只会播放视频中的音频和麦克风中的录音。

我认为 AVAudioEngine 是可行的方法,但我无法终生解决它。

所以我的问题是如何从 AVPlayer 中当前正在播放的视频中提取或录制音频,重要的是如何使用在线资源 (youtube) 进行流式传输。

另一种提问方式可以如下

我有一个收音机应用程序(想想 tuneIn Radio),我想录制流式音频。

一个消息来源建议您在 AVPlayerAVAudioRecorder 同时启动时监听音频路由变化。这个想法是使用 AudioSessionAddPropertyListener(...) 并监控 kAudioSessionProperty_AudioRoute 音频路由,然后在收到 AVPlayer 路由时开始录制。

REF:Playing video with AVPlayer and recording sound with AVAudioRecorder simultaneously

另一种解决方案是使用 MTAudioProcessingTap (ref),使用 KVObserving 设置流处理程序,并记录流式视频的音频通道。

REF: Recording Live Audio Streams on iOS

另一种解决方案是与代表开始类别 AVAudioSessionCategoryPlayAndRecord 的音频会话,并在您开始播放视频后启动录音。

REF:how can i record a song which is playing with AVPlayer and an wav file at a same time?