iOS 音乐 播放器 声音
离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音频文件再进行播放的情况,这种使用AVFoundation里的AVAudioPlayer可以满足
在线播放:使用AVFoundation的AVPlayer可以满足
在线播放同时存储文件:使用 AudioFileStreamer + AudioQueue 可以满足
在线播放且带有音效处理:使用 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 音乐 播放器 声音相关推荐
- uniapp-微信小程序-ios音乐播放没声音
const innerAudioContext = uni.createInnerAudioContext(); innerAudioContext.autoplay = true; innerAud ...
- ios音乐播放器-仿QQ音乐
这篇文章主要写一个iOS系统下的音乐播放器 , 包括简单的仿QQ音乐播放器界面.音乐播放.歌词解析.后台控制等 ,如果你正好需要 , 希望你看完后能够对你的提升有所帮助 , 当然,阅读中如果发现什么 ...
- 卡拉OK效果的实现-iOS音乐播放器
自己编写的音乐播放器偶然用到这个模块,发现没有思路,而且上网搜了搜,关于这方面的文章不是很多,没找到满意的结果,然后自己也是想了想,最终实现了这种效果,想通了发现其实很简单. 直接上原理: 第一种: ...
- 基于IOS音乐播放器在线歌词同步小程序系统(音乐小程序)
目 录 目 录 1 摘 要 3 Abstract 4 1 导论 6 1.1 背景问题 6 1.2 选题意义 6 1.3 本文内容 7 2 核心功能 9 2.1 功能调研 9 2.2 可行性分析 12 ...
- android+仿ios+音乐播放器,iOS简单的音乐播放器(仿QQ音乐)
AVPlayer实现基本的播放,暂停,上一首,下一首,调节音量,调节进度等,正在学习的新人可以看下,有什么不足可以互相学习,谢谢支持 qq音乐.gif 这个是我写的一个简单的低仿QQ音乐, 如果你也喜 ...
- iOS音乐播放器小技巧
在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放 ...
- iOS音乐播放器的后台播放和远程控制
iOS的后台任务一直有很严格的限制,一般情况下只有几类情况能使用后台任务,下面介绍其中的一种 音乐的后台播放. 1.要支持后台任务,首先你得告诉系统你需要后台任务,所以你首先在Info.plist文件 ...
- iOS高仿微信悬浮窗、忍者小猪游戏、音乐播放器、支付宝、今日头条布局滚动效果等源码...
iOS精选源码 iOS WKWebView的使用源码 模仿apple music 小播放器的交互实现 高仿微信的悬浮小窗口 iOS仿支付宝首页效果 [swift]仿微信悬浮窗 类似于今日头条,网易新闻 ...
- iOS之基于FreeStreamer的简单音乐播放器(模仿QQ音乐)
代码地址如下: http://www.demodashi.com/demo/11944.html 天道酬勤 前言 作为一名iOS开发者,每当使用APP的时候,总难免会情不自禁的去想想,这个怎么做的?该 ...
- iOS开发拓展篇—音频处理(音乐播放器3)
iOS开发拓展篇-音频处理(音乐播放器3) 说明:这篇文章主要介绍音频工具类和播放工具类的封装. 一.控制器间数据传递 1.两个控制器之间数据的传递 第一种方法:self.parentViewCont ...
最新文章
- 基于Python的人脸自动戴口罩系统
- 深入理解Linux I/O系统
- 顺序表-元素逆置(首尾交换)
- 图片质量低怎么办?这个网站很不错!
- [转]Oracle 执行计划(Explain Plan) 说明
- 一句话简单总结李航统计学习法各算法
- Struts2国际化
- 命令及串口命令_嵌入式Linux系列第7篇:使用串口
- opencv-api drawKeyPoints
- mybatis 批量插入的两种方式
- STM32:GPIO配置说明
- 词汇的积累 —— 反义词、同义词
- careercup-链表 2.7
- java 邮件内嵌图片_(二)JavaMail创建包含内嵌图片的邮件
- MOSS 中的计算公式
- 如何做杜邦线、XH线 制作方法
- ASP.NET学习——导航条设计方案
- UML之独孤九剑总纲
- 基于SSM+Layui的逆风医疗管理系统
- IT4IT 标准助力 IT 经理控制乱局