AVAudioPlayer 构建于Core Audio 中的C-based Audio Queue Services 的最顶层。它可以提供所有你在Audio Queue Services 中所能找到的核心功能,比如播放,循环甚至音频计量。通常 AVAudioPlayer只能播放本地音频,但是经过某些处理也是可以播放网络音频的,只是效果不如播放本地音频好。我之所以使用了AVAudioPlayer播放网络音频,是因为在我的项目中使用AVPlayer播放网络音频会造成卡顿。
音频会话分类:AV Foundation 定义了7种分类来描述应用程序所使用的音频行为。
以上分类可以满足大部分应用程序的需要,如果需要开发更复杂的功能,其中一些分类可以通过使用options和modes方法进一步自定义开发。
配置音频会话:音频会话在应用程序的生命周期中是可以修改的,通常只需要配置一次。配置的最佳位置是
配置的分类为Playback,但是如果使用AVAudioPlayer播放音频的话也可以不配置。有两种方法可以创建AVAudioPlayer,使用包含要播放音频的内存版本的NSdata,或者本地音频文件的NSURL。
播放本地音频代码如下:
播放网络音频如下:
先根据网络音频的url下载到本地,然后进行播放
还可以把url转为NSData类型的,进行播放。使用这个方法需要注意的是转化为NSData的步骤要放在异步线程,不然会阻塞主线程
使用currentTim属性,不仅可以获取到当前的播放进度,也可以调整播放进度
**************************************以下是AVPlayer播放音频***************************************
网友评论