【问题标题】:Routing AVPlayer audio output to AVAudioEngine将 AVPlayer 音频输出路由到 AVAudioEngine
【发布时间】:2020-11-02 05:49:35
【问题描述】:

由于我的应用音频内容的丰富性和复杂性,我正在使用 AVAudioEngine 来管理整个应用中的所有音频。我正在将每个音频源转换为我的 AVAudioEngine 图中的一个节点。

例如,我使用这些音频文件的缓冲区创建AVAudioPlayerNode 对象,而不是使用AVAudioPlayer 对象在我的应用程序中播放mp3 文件。

但是,我的应用程序中确实有一个视频播放器,它使用 AVPlayer 框架播放带有音频的视频文件(我不知道 iOS 中没有其他可以播放视频文件的东西)。不幸的是,我似乎无法获得音频输出流作为我的 AVAudioEngine 图中的节点。

任何指针?

【问题讨论】:

  • 您想用AVPlayer 播放视频,但用AVAudioEngine 播放伴随的音频吗?如果是这样,同步可能会很麻烦。

标签: avplayer avaudioengine avplayeritem avplayerlayer


【解决方案1】:

如果您有视频文件,您可以提取音频数据并将其从视频中提取出来。

然后您可以将 AVPlayer 的音量设置为 0。(如果您没有从视频中删除音频数据) 并播放 AVAudioPlayerNode。

如果你是通过网络接收到的视频数据,你应该对数据包进行解析并划分它们。

但是 AV-sync 是非常困难的事情。

【讨论】:

    猜你喜欢
    • 2020-08-13
    • 1970-01-01
    • 2021-06-29
    • 2015-03-20
    • 2014-01-24
    • 2019-04-21
    • 2013-07-30
    • 2021-02-26
    • 1970-01-01
    相关资源
    最近更新 更多