iOS MP3流媒体播放 边缓冲边播放 FreeStreamer框架

本文介绍了如何使用FreeStreamer库在iOS中实现MP3流媒体的边缓冲边播放功能,解决了AVPlayer等待完整缓存再播放的问题。详细讲解了配置FreeStreamer、处理远程控制事件以及更新Now Playing Center的方法,支持MP3和M4A格式。
摘要由CSDN通过智能技术生成

在网上看到有人说AVplay就可以播放流媒体,便拿过来使用,,结果发现无论如何它都是要把MP3缓存完成之后才开始播放,,音频长的就要等好久,对于M4A 格式的还有好些,MP3就不行了,,这样体验非常差。于是在网上搜罗方法,,找到了FreeStreamer 库 可以实现边缓存边播放MP3文件,,网上资料比较少。。在这里大致做下总结。。我的代码写的并不好 只是给需要的做个参考  支持mp3和m4a格式 后面还有一篇DOUAudioStreamer 的总结 可以参考下

1.使用cocoapods 添加FreeStreamer库

pod 'FreeStreamer','~> 3.7.2'

2.

#import <FSAudioStream.h>

- (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    // 开始接受远程控制 为添加到音频中心后台播放做准备

    [[UIApplicationsharedApplication]beginReceivingRemoteControlEvents];

    [selfbecomeFirstResponder];

}

- (void)viewWillDisappear:(BOOL)animated{

    [superviewWillDisappear:animated];

    // 结束远程控制 为添加到音频中心后台播放做准备

    [[UIApplicationsharedApplication]endReceivingRemoteControlEvents];

    [selfresignFirstResponder];

}

// 重写父类成为响应者方法 为添加到音频中心后台播放做准备

- (BOOL)canBecomeFirstResponder {

    returnYES;

}

#pragma mark 重写父类方法,接受外部事件的处理 为添加到音频中心后台播放做准备

- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {

    if (receivedEvent.type ==UIEventTypeRemoteControl) {

        switch (receivedEvent.subtype) { //得到事件类型

            caseUIEventSubtypeRemoteControlTogglePlayPause://暂停 ios6

                self.play =YES;//调用你所在项目的暂停按钮的响应方法下面的也是如此

                [selfplayAction];

                break;

            caseUIEventSubtypeRemoteControlPreviousTrack//上一首

                [selflastButtonAction];

                break;

            caseUIEventSubtypeRemoteControlNextTrack://下一首

                [selfnextButtonAction];

                break;

            caseUIEventSubtypeRemoteControlPlay://播放

                self.play =NO;//调用你所在项目的暂停按钮的响应方法下面的也是如此

                [selfplayAction];

                break;

            caseUIEventSubtypeRemoteControlPause://暂停 ios7

                self.play =YES;//调用你所在项目的暂停按钮的响应方法下面的也是如此

                [selfplayAction];

                break;

            default:

                break;

        }

    }

}

//Now Playing Center可以在锁屏界面展示音乐的信息,也达到增强用户体验的作用。

#pragma mark 传递信息到锁屏状态下此方法在播放歌曲与切换歌曲时调用即可

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值