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

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

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

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

    1.离线播放

    .h中

    // 导入第三方库

    #import <AVFoundation/AVFoundation.h>

    @import AVKit;

    // 代理

    <AVAudioPlayerDelegate>

    // 播放器

    @property (nonatomic, strong)AVAudioPlayer *audioPlayer;

    .m中
    //下载歌曲导入工程中

    NSString *str = [[NSBundle mainBundle] pathForResource:@"bigbang-sober" ofType:@"mp3"];

    _audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:str] error:nil];

    [_audioPlayer prepareToPlay];

    //声音大小

    _audioPlayer.volume = 0.5;

    //循环播放次数,如果为0则不循环,如果小于0则无限循环,大于0则表示循环次数

    _audioPlayer.numberOfLoops = 1;

    //立体声平衡,如果为-1.0则完全左声道,如果0.0则左右声道平衡,如果为1.0则完全为右声道

    _audioPlayer.pan = 0;

    //播放速率,范围0.5-2.0,如果为1.0则正常播放,如果要修改播放速率则必须设置enableRate为YES

    _audioPlayer.enableRate = YES;

    _audioPlayer.rate = 1;

    //签订代理

    _audioPlayer.delegate = self;

    //开始播放

    [_audioPlayer play];

    //暂停播放

    [_audioPlayer pause];

    //停止播放

    [_audioPlayer stop];

    //当播放器遇到中断的时候(如来电),调用该方法

    - (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player

    {

    if (player.isPlaying) {

    //如果暂停,那么播放图标变成播放时状态

    } else {

    [self.playButton setBackgroundImage:[UIImage imageNamed:@"play.png"] forState:UIControlStateNormal];

    }

    }

    //中断事件结束后调用下面的方法

    - (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withOptions:(NSUInteger)flags

    {

    //可以什么都不做,让用户决定是继续播放还是暂停

    [player play];

    }

    //注:
    //为了让软件置后台时还保持播放状态
    1.需要在info.plist中加入 如图:
    2. AppDelegate.h

    #import <AVFoundation/AVFoundation.h>

    AppDelegate.m

    - (void)applicationWillResignActive:(UIApplication *)application {

    //music

    //将要进入后台

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; // 让后台可以处理多媒体的事件

    NSLog(@"%s",__FUNCTION__);

    AVAudioSession *session = [AVAudioSession sharedInstance];

    [session setActive:YES error:nil];

    [session setCategory:AVAudioSessionCategoryPlayback error:nil]; //后台播放

    }

iOS 音乐 播放器 声音相关推荐

  1. uniapp-微信小程序-ios音乐播放没声音

    const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.autoplay = true; innerAud ...

  2. ios音乐播放器-仿QQ音乐

    这篇文章主要写一个iOS系统下的音乐播放器 , 包括简单的仿QQ音乐播放器界面.音乐播放.歌词解析.后台控制等  ,如果你正好需要 , 希望你看完后能够对你的提升有所帮助 , 当然,阅读中如果发现什么 ...

  3. 卡拉OK效果的实现-iOS音乐播放器

    自己编写的音乐播放器偶然用到这个模块,发现没有思路,而且上网搜了搜,关于这方面的文章不是很多,没找到满意的结果,然后自己也是想了想,最终实现了这种效果,想通了发现其实很简单. 直接上原理: 第一种: ...

  4. 基于IOS音乐播放器在线歌词同步小程序系统(音乐小程序)

    目 录 目 录 1 摘 要 3 Abstract 4 1 导论 6 1.1 背景问题 6 1.2 选题意义 6 1.3 本文内容 7 2 核心功能 9 2.1 功能调研 9 2.2 可行性分析 12 ...

  5. android+仿ios+音乐播放器,iOS简单的音乐播放器(仿QQ音乐)

    AVPlayer实现基本的播放,暂停,上一首,下一首,调节音量,调节进度等,正在学习的新人可以看下,有什么不足可以互相学习,谢谢支持 qq音乐.gif 这个是我写的一个简单的低仿QQ音乐, 如果你也喜 ...

  6. iOS音乐播放器小技巧

    在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放 ...

  7. iOS音乐播放器的后台播放和远程控制

    iOS的后台任务一直有很严格的限制,一般情况下只有几类情况能使用后台任务,下面介绍其中的一种 音乐的后台播放. 1.要支持后台任务,首先你得告诉系统你需要后台任务,所以你首先在Info.plist文件 ...

  8. iOS高仿微信悬浮窗、忍者小猪游戏、音乐播放器、支付宝、今日头条布局滚动效果等源码...

    iOS精选源码 iOS WKWebView的使用源码 模仿apple music 小播放器的交互实现 高仿微信的悬浮小窗口 iOS仿支付宝首页效果 [swift]仿微信悬浮窗 类似于今日头条,网易新闻 ...

  9. iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)

    代码地址如下: http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该 ...

  10. iOS开发拓展篇—音频处理(音乐播放器3)

    iOS开发拓展篇-音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装. 一.控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewCont ...

最新文章

  1. 基于Python的人脸自动戴口罩系统
  2. 深入理解Linux I/O系统
  3. 顺序表-元素逆置(首尾交换)
  4. 图片质量低怎么办?这个网站很不错!
  5. [转]Oracle 执行计划(Explain Plan) 说明
  6. 一句话简单总结李航统计学习法各算法
  7. Struts2国际化
  8. 命令及串口命令_嵌入式Linux系列第7篇:使用串口
  9. opencv-api drawKeyPoints
  10. mybatis 批量插入的两种方式
  11. STM32:GPIO配置说明
  12. 词汇的积累 —— 反义词、同义词
  13. careercup-链表 2.7
  14. java 邮件内嵌图片_(二)JavaMail创建包含内嵌图片的邮件
  15. MOSS 中的计算公式
  16. 如何做杜邦线、XH线 制作方法
  17. ASP.NET学习——导航条设计方案
  18. UML之独孤九剑总纲
  19. 基于SSM+Layui的逆风医疗管理系统
  20. IT4IT 标准助力 IT 经理控制乱局

热门文章

  1. 《深度思维》读书笔记
  2. linux performance test
  3. wpf之pdf的显示
  4. java根据身份证号码计算年龄的方法(精确到日)
  5. 学习mysql比较好一些书籍
  6. 正弦波叠加成及波的分解
  7. Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.4 V4L2子设备操作函数结构体分析
  8. 每日简报 4月22日简报新鲜事 每天一分钟 了解新鲜事
  9. html显示tooltips,提示工具 | Tooltips
  10. ModbusTCP协议,上位机通讯测试实例分享