Getting the musical data of an iPod-track(获取 iPod 曲目的音乐数据)
问题描述
如何获取 iPod 曲目的内容(原始/样本数据)?我见过像铃声设计器"和 iMovie 这样的应用程序可以做到这一点,但我不知道他们使用哪个 api 或他们做了什么.我可以想象 iMovie 使用私有 api,但铃声设计器"是第三方应用程序,所以必须使用公共 api 功能.
How can I get the content (raw/sample data) of an iPod-track? I've seen apps like "Ringtone Designer" and iMovie which can do it, but I have no idea which api they use or what they do. I could imagine that iMovie uses private apis, but "Ringtone Designer" is a third-party app, so it must be possible with the public api-functions.
推荐答案
我自己没有这样做,但根据文档,这些是步骤(大致):
I haven't done this myself but according to the documentation these are the steps (roughly):
- 创建一个
MPMediaQuery 以从 iPod 库中检索一个或多个
MPMediaItem 对象.
- 使用
-[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL]
询问这些媒体项目的 URL. - 从 URL 创建一个
AVURLAsset
. - 为资产创建一个
AVAssetReader
实例. - 创建一个或多个
AVAssetReaderTrackOutput
实例(资产的每个轨道一个)并使用-[AVAssetReader addOutput:]
将它们添加到资产阅读器..李> - 调用
-[AVAssetReader startReading]
. - 为每个
AVAssetReaderTrackOutput
对象调用-copyNextSampleBuffer
,直到您读取所有数据.
- Create an
MPMediaQuery
to retrieve one or moreMPMediaItem
objects from the iPod library. - Ask those media items for their URL with
-[MPMediaItem valueForProperty: MPMediaItemPropertyAssetURL]
. - Create an
AVURLAsset
from the URL. - Create an instance of
AVAssetReader
for the asset. - Create one or more instances of
AVAssetReaderTrackOutput
(one for each track of the asset) and add them to the asset reader with-[AVAssetReader addOutput:]
. - Call
-[AVAssetReader startReading]
. - Call
-copyNextSampleBuffer
for each of yourAVAssetReaderTrackOutput
objects until you have read all the data.
有关详细信息,请参阅所有这些类的文档.
See the documentation to all these classes for details.
这篇关于获取 iPod 曲目的音乐数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:获取 iPod 曲目的音乐数据
- 网上有没有好的 UIScrollView 教程? 2022-01-01
- 在 Iphone SDK 的导航栏上添加多个按钮 2022-01-01
- 类似于 Mail.app 的 iPad 模态视图控制器? 2022-01-01
- UITextView 内容插图 2022-01-01
- GPS状态的广播接收器? 2022-01-01
- URL编码Swift iOS 2022-01-01
- Xcode 7.3 中带有 UILabel 的 UIStackView 2022-01-01
- 使用自动布局向 UIScrollView 添加动态大小的视图 2022-01-01
- 如何在 iPhone 模拟器中重置 NSUserDefaults 数据? 2022-01-01
- SetOnItemSelectedListener上的微调程序错误 2022-01-01