iPhone iOS5 播放未捆绑的音频都有哪些选择?
Posted
技术标签:
【中文标题】iPhone iOS5 播放未捆绑的音频都有哪些选择?【英文标题】:iPhone iOS5 what are my options for playing audio I do not have bundled in?iPhone iOS5 播放未捆绑的音频有哪些选择? 【发布时间】:2011-11-07 04:25:09 【问题描述】:我目前有 3 种方式在我的应用中播放音频:
使用 AudioServicesPlaySystemSound 进行振动和简单 声音
使用 Audio Toolbox 处理捆绑文件(第三方类)
将 AudioServices 与 AudioFX
结合使用我目前正在调查的是,我是否可以播放 iPhone 上已经存在的其他类型的音频。我想减少我的应用程序的下载大小,并在用户可以播放的声音类型方面提供更大的灵活性。
我可以在我的应用内玩吗:
-
来自语音备忘录应用程序的录音,或者我必须这样做
创建我自己的录音? iPod 播放列表 或音乐应用程序中的项目?
youtube 中的项目通过预加载它们,还是我每次都必须流式传输它们?
手机现有铃声?
当谈到在 iPhone 上播放音频时,我是一个完整的初学者,并且已经在使用两个 3rd 方类来完成音频任务。
有没有简单的方法来完成上面列出的一些任务?
【问题讨论】:
您可以播放来自 1. iPod Library 2. Online Source 的声音(您每次都需要流式传输。不确定现有的铃声。无需使用任何 3rd 方类来完成音频任务。您有3个播放音频的Framework类。1. AudioUnit 2. AVAudioPlayer 3. MPMediaPlayer。各有优缺点。请参考苹果的文档了解更多详情。 【参考方案1】:1) 语音备忘录应用中的录音
以前有人问过,但我认为您的应用沙箱不可能做到这一点。
iPhone: Access voice memos programmatically
2) 来自 iPod 播放列表或音乐应用程序的项目
有一个 API,即 iPod Access Library:
http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/iPodLibraryAccess_Guide/Introduction/Introduction.html
3) 来自 youtube 的项目
应该可以,使用 UIWebView。
http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application
4) 手机的现有铃声
不,您不能以编程方式访问当前铃声。
How can I programmatically determine the default ringtone on an iPhone?
【讨论】:
【参考方案2】:您可以在第一次启动时下载声音文件(不是在您的 didFinishLaunchingWithOptions 方法中,否则您的应用可能会被终止)并将它们保存在本地,然后您可以在需要时播放它们。您可以在他们的 iTunes 资料库中播放文件,但不知道他们在资料库中有什么。
要从他们的库中播放,这是一个方便的示例:
http://mobile.tutsplus.com/tutorials/iphone/ios-sdk-music-library-access/
您还可以使用 AVAudioRecorder 从您的应用记录用户输入,保存并随时播放。
【讨论】:
这个项目看起来很有趣,我喜欢我可以轻松导入和测试它! 刚刚编译了这个教程,正是我一直在寻找的!通过访问音乐库,其他方法相形见绌!如果我需要播放铃声,可以将铃声添加到 iTunes 音乐库并与设备同步。非常感谢以上是关于iPhone iOS5 播放未捆绑的音频都有哪些选择?的主要内容,如果未能解决你的问题,请参考以下文章