iOS利用AVPlayer播放网络音乐的方法教程-创新互联

前言

创新互联建站于2013年开始,先为祥云等服务建站,祥云等地企业,进行企业商务咨询服务。为祥云企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

假如你现在打算做一个类似百度音乐、豆瓣电台的在线音乐类APP,你会怎样做?

首先了解一下音频播放的实现级别:

      (1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音频文件再进行播放的情况,这种使用AVFoundation里的AVAudioPlayer可以满足

      (2) 在线播放:使用AVFoundation的AVPlayer可以满足

      (3) 在线播放同时存储文件:使用AudioFileStreamer + AudioQueue 可以满足

      (4) 在线播放且带有音效处理:使用AudioFileStreamer + AudioQueue + 音效模块(系统自带或者自行开发)来满足

本文主要针对第二种级别,介绍如何使用AVPlayer实现网络音乐的播放。

什么是AVPlayer

AVPlayer存在于AVFoundation中,其实它是一个视频播放器,但是用它来播放音乐是没问题的,当然播放音乐不需要呈现界面,因此我们不需要实现它的界面。

跟AVPlayer联系密切的名词:

Asset:AVAsset是抽象类,不能直接使用,其子类AVURLAsset可以根据URL生成包含媒体信息的Asset对象。

AVPlayerItem:和媒体资源存在对应关系,管理媒体资源的信息和状态。

功能需求

通常音乐播放并展示到界面上需要我们实现的功能如下:

      1、(核心)播放器通过一个网络链接播放音乐

      2、(基本)播放器的常用操作:暂停、播放、上一首、下一首等等

      3、(基本)监听该音乐的播放进度、获取音乐的总时间、当前播放时间

      4、(基本)监听改播放器状态:

     (1)媒体加载状态

     (2)数据缓冲状态

     (3)播放完毕状态

      5、(可选)Remote Control控制音乐的播放

      6、(可选)Now Playing Center展示正在播放的音乐

功能实现

1、通过一个网络链接播放音乐

NSURL * url = [NSURL URLWithString:self.currentSong.url];
AVPlayerItem * songItem = [[AVPlayerItem alloc]initWithURL:url];
AVPlayer * player = [[AVPlayer alloc]initWithPlayerItem:songItem];

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:iOS利用AVPlayer播放网络音乐的方法教程-创新互联
网页链接:http://ybzwz.com/article/cdisgd.html