是否可以访问原始 iphone 音频输出?

Posted

技术标签:

【中文标题】是否可以访问原始 iphone 音频输出?【英文标题】:Is it possible to access raw iphone audio output? 【发布时间】:2012-07-01 14:49:15 【问题描述】:

是否可以从 iphone 音频输出中访问原始 PCM 数据?

我知道我可以嵌入 MP3 并使用 AudioUnit。但是,如果用户在后台从他们的 iTunes 库中播放音乐,是否可以访问该音频数据?

这适用于显示视觉效果的应用程序,该效果会对音乐做出反应。

据我所知,这是不可能的,但这只是因为根本找不到任何信息,而不是实际确认无法完成。

如果无法从 ipod 访问音频流,是否可以从应用程序内的媒体播放器访问原始音频输出,或者几乎不允许访问 iTunes 库中的原始音频数据全部?

编辑:我发现了这个问题:ios - Access output audio from background program,它说我无法从后台应用程序访问音频。但是,如果我在应用程序中播放,是否可以从 iTunes 库中获取音频数据?

【问题讨论】:

【参考方案1】:

我正忙于编写类似的代码,据我所知需要 AUGraph,即从记录器中提取的硬件。您必须从用户使用 Apple 的 MPMediaPickerViewController 选择的轨道中获取 MPMediaItem 的 URL。然后将 URL 与 Core-Audio 一起使用。 Core-Audio 是一头野兽。

【讨论】:

【参考方案2】:

如果您的应用正在播放原始音频 PCM 样本,那么您的应用可以访问这些样本。应用程序无权访问另一个应用程序(包括音乐播放器)通过任何公共 API 播放的音频样本。

应用可以使用 AVAssetReader 和 Writer 将 iTunes 库中的 mp3 文件转换为原始音频 (WAV) 文件。

【讨论】:

以上是关于是否可以访问原始 iphone 音频输出?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以为 iPhone 和/或模拟器模拟多个音频输出?

iphone,objective c,如何从音频文件中读取原始数据(未应用编解码器)

覆盖 iOS 音频输出

仅从 iphone 扬声器(不包括麦克风)录制音频输出

iPhone 音频相移

iOS - 从后台程序访问输出音频