将 MPMediaItem 转换为 NSData
我正在尝试将 MPMediaItem 转换为 NSData 对象,以便我可以使用 AVAudioPlayer 播放它。 以下答案不久前发布在类似的问题上,并提供了如何解决该问题的步骤:
当然你可以访问a的数据 MPMediaItem。这不是很清楚 一次但有效。方法如下:
从媒体项中获取媒体项的 URL MPMediaItemPropertyAssetURL 属性 使用此 URL 初始化 AVURLAsset 用这个初始化 AVAssetReader asset 获取你想要的 AVAssetTrack 从 AVURLAsset 读取创建一个 AVAssetReaderTrackOutput 与此 跟踪将此输出添加到 之前创建的 AVAssetReader 和 -startReading 使用 AVAssetReaderTrackOutput 获取所有数据 -copyNextSampleBuffer 利润!
使用“copyNextSampleBuffer”获取数据后,我现在有了一个 CMSampleBufferRef 对象。我如何从这里继续?
谢谢, 吉利
I'm trying to convert an MPMediaItem to NSData object so I can play it with AVAudioPlayer.
The following answer was posted a while back on a similar question, with steps on how to to that:
Of course you can access the data of a
MPMediaItem. It's not crystal clear at
once but it works. Here's how:Get the media item's URL from it's
MPMediaItemPropertyAssetURL property
Initialize an AVURLAsset with this URL
Initialize an AVAssetReader with this
asset Fetch the AVAssetTrack you want
to read from the AVURLAsset Create an
AVAssetReaderTrackOutput with this
track Add this output to the
AVAssetReader created before and
-startReading Fetch all data with AVAssetReaderTrackOutput's
-copyNextSampleBuffer PROFIT!
After fetching the data with 'copyNextSampleBuffer', I now have an CMSampleBufferRef object. How do I continue from here?
Thanks,
Gili
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
Try this:
尝试使用以下代码
Try to use following code