菜鸟教程小白 发表于 2022-12-13 06:14:13

ios - 为什么 AVFoundation 中不存在 AVPlayerItemAudioOutput?


                                            <p><p>AVPlayerItemVideoOutput 是 AVFoundation 中 AVPlayerItemOutput 的子类,我可以获取像素缓冲区格式的视觉数据并进行一些处理。 (通过copyPixelBufferForItemTime:)</p>

<p>但是,没有相应的 AVPlayerItemAudioOutput 存在。如何处理音频数据?</p>

<p>我必须使用 AVAssetReader 类来获得这个吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这是一个很好的问题。 <code>-</code> 提到了音频,但在 <code>AVPlayerItemOutput.h</code> 中找不到任何内容(除非您打算通过 <code>AVPlayerItemLegibleOutput 获取音频</code> 类 - 我只是在开玩笑,作为一个出售 <code>CMSampleBuffers</code> 的类,我认为一个假设的 <code>AVPlayerItemAudioOutput</code> 看起来很像这样)。</p >

<p>所以我不知道 <code>AVPlayerItemAudioOutput</code> 在哪里,但是你可以使用 <code>AVAssetReader</code> 来获取音频数据。</p>

<p>但是,如果您已经在使用 <code>AVPlayer</code>,那么您最轻松的方法是使用 <code>MTAudioProcessingTap</code> 来扮演假设的 <code>AVPlayerItemAudioOutput</code> 的角色.</p>

<p>您可以在 <code>AVPlayer</code> 的 <code>currentItem</code> 的 <code>audioMix</code> 的 <code>inputParameters</code> 上添加一个点击以接收(甚至修改)您选择的音轨的音频。</p>

<p>可能更容易阅读 <a href="https://chritto.wordpress.com/2013/01/07/processing-avplayers-audio-with-mtaudioprocessingtap/" rel="noreferrer noopener nofollow">some example code</a>而不是解析我刚刚写的内容。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 为什么 AVFoundation 中不存在 AVPlayerItemAudioOutput?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/29431522/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/29431522/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 为什么 AVFoundation 中不存在 AVPlayerItemAudioOutput?