有可能是因为静音模式导致

  • 设置静音模式依然播放
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
[audioSession setActive:YES error:nil];

AudioServicesCreateSystemSoundID

  • 对于比较短促的声音,比如系统的推送声音和短信声音,官方要求不要超过30s。
  • 优点:C语言的底层写法,节省内存。
  • 缺点:支持的格式有限,音量无法通过音量键控制,而且播放方式单一。
//开始播放
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"done" ofType:@"wav"];
NSURL *fileUrl = [NSURL URLWithString:filePath];
SystemSoundID soundID = 0;
AudioServicesCreateSystemSoundID((__bridge CFURLRef)(fileUrl), &soundID);
AudioServicesAddSystemSoundCompletion(soundID,NULL,NULL,soundCompleteCallBack,NULL);
AudioServicesPlaySystemSound(soundID);
//播放完成
void soundCompleteCallBack(SystemSoundID soundID, void *clientData)
{NSLog(@"播放完成");
}

AVAudioPlayer

  • 适用于音乐时间比较长,或者对播放的控制性要求比较高的场景
  • 优点: 抒写效率更高,基本上支持所有的音频格式,对播放的控制,如循环播放,声音大小,暂停等比较方便。
  • 缺点: 相比上一种,对内存的消耗会多些。不支持流式,即无法播放在线音乐
if (!self.musicPlayer) {NSString *filePath = [[NSBundle mainBundle] pathForResource:@"happy_birthday" ofType:@"mp3"];NSURL *fileUrl = [NSURL URLWithString:filePath];self.musicPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:fileUrl error:nil];self.musicPlayer.delegate = self;//初始音量大小self.musicPlayer.volume = 1;//循环次数 0是一次  1是两次 2 是三次 以此类推  -1是一直循环self.musicPlayer..numberOfLoops = 0;}if (![self.musicPlayer isPlaying]){[self.musicPlayer setVolume:0.6];[self.musicPlayer prepareToPlay];[self.musicPlayer play];
}
//暂停
if ([self.musicPlayer isPlaying]){[self.musicPlayer pause];
}
//播放完成
-(void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{[self.musicPlayer stop];self.musicPlayer=nil;self.musicPlayer.delegate = nil;
}

AVPlayer

  • 和AVAudioPlayer相似,但支持流播放,即可以播放在线的音乐
NSURL * url  = [NSURL URLWithString:@"www.xxxxx.mp3"];
NSURL * url2  = [[NSBundle mainBundle] URLForResource:@"mmusic" withExtension:@".mp3"];
AVPlayerItem * songItem = [[AVPlayerItem alloc]initWithURL:url];
self.player = [[AVPlayer alloc]initWithPlayerItem:songItem];
//AVPlayer * player = [[AVPlayer alloc] initWithURL:url];
//AVPlayerItem * songItem = player.currentItem;
//1播放
[self.audioPlayer prepareToPlay];
[self.player play];
//2暂停
[self.player pause];
//3 切换上一首或者下一首
[self.player replaceCurrentItemWithPlayerItem:songItem];// 4.打印歌曲信息
@"音频文件声道数" =  self.audioPlayer.numberOfChannels;
@"音频文件持续时间" =  self.audioPlayer.duration;
// 4.设置循环播放
self.audioPlayer.volume = 1.0;
self.audioPlayer.numberOfLoops = -1;

AVPlayer没声音相关推荐

  1. vue-video-player有画面没声音_电视盒子没声音?问题都在这了!

    最近,小智身边有朋友遇到了这样一个问题:电视盒子在连接电视机后播放视频,却没有声音.这是怎么一回事? 一般情况下,我们要检查下在连接电视或者盒子时,连接线是否出现了差错. 一.AV线连接电视 1. 检 ...

  2. win10系统没声音 服务器,win10没有声音怎么解决

    电脑大家肯定都不陌生吧!随着这几年科学技术的不断提高,电脑已经量产了,所以这些年电脑的普及率非常地高,电脑是硬件和软件的结合.今天小编就着重介绍一下电脑的系统吧!现在电脑最新的系统就是win10了,现 ...

  3. win7为什么没有计算机,教你win7如何快速找出电脑没声音问题所在-win7之家

    在使用电脑的时候总是会遇到各种各样的问题,最近有不少用户发现电脑没声音,音箱和耳机都是没有声音的,这种现象是经常发生的事情,但是导致这种现象的原因也是很多的,如果要一一的排除的话又要浪费会很多时间又不 ...

  4. 电脑前面的插孔没声音怎么设置_手机没声音是怎么回事

    手机没声音是怎么回事,相信会是一众在使用手机时难免会遇到的问题,但是该如何解决下面就来分步骤为大家详细介绍一下! 手机突然没声音的原因分析 第一: 最常见的就是音量没有打开,手机调成振动.很多人调成震 ...

  5. 耳机是怎么传输声音的_win7电脑耳机有声音外放没声音怎么办

    你有没有遇到过这样的一种情况,在Windows 7 使用过程中,电脑没有声音的时候.你是如何对付这种故障的呢?小编给大家讲解一下关于win7电脑耳机有声音外放没声音的解决方法,希望大家喜欢! win7 ...

  6. yy直播没声音html,驱动技巧:解决YY语音中麦克风无声或者有噪音的问题

    此类问题大都是因为没有正确配置好目前所用的麦克风,如果机器上有多个麦克风,这类问题将会非常常见,我们只需要在YY语音中配置一一下即可. 1.确认目前可用的麦克风是哪个 2.在YY语音中设置这个可用的麦 ...

  7. win10前置耳机插孔没声音_音频服务未运行怎么办?win7和win10电脑没声音了恢复方法...

    很多人可能都会问电脑没声音了,如何恢复?其实造成这种情况的原因有很多,一般需要一个一个排查.这次,小编跟大家分享其中的一个原因,以及具体的解决方法. 个别小伙伴的笔记本电脑,每次开机总会提示音频服务未 ...

  8. win10电脑插耳机没声音_电脑没有声音是什么原因 教您电脑突然没声音怎么解决...

    在日常生活中在使用电脑中经常遇到电脑没声音的小麻烦,有时候选择重装系统也解决不了该问题,其实不必烦恼的,当出现电脑没声音的现象时,我们首先要寻找出电脑没声音是什么原因造成的.然后根据电脑没声音的原因来 ...

  9. HTML音乐播放没声音,网页没有声音但系统显示有声音怎么回事?如何解决?

    网友提问:为什么网页没有声音,除了迅雷高清在线影院的视频有声音和本已经下载的歌或视频有声音外,其他网页都没有声音!就是网页没声音,其他一切正常! 网页没有声音但系统显示有声音:网页在线视频没有声音:网 ...

最新文章

  1. apache 源代码安装
  2. BCH钱包的“现金”支持比特币现金NFC交易
  3. 2021年春季学期-信号与系统-第十二次作业参考答案-第七小题
  4. 涨跌因子计算器下载哪里下载_小白计算器软件下载-小白计算器app下载 v1.0 安卓版...
  5. 想要学习设计模式,你得先会看类图,一张图读懂UML
  6. 三道小题带你了解SQL基本查询
  7. SQL Server 中的case when then else 中的结果类型
  8. 威斯康星大学乳腺癌肿瘤数据预测分类代码讲解
  9. BOOST 线程完全攻略 - 扩展 - 可被关闭的线程类
  10. 关于win10不能修改ip问题
  11. NTP授时服务器(网络校时服务器)对医院信息化建设的重要
  12. 利用Github服务器做一个软件自动升级系统
  13. 墨者Apache Struts2远程代码执行漏洞(S2-009)复现题解
  14. STM32 控制蜂鸣器播放音乐的原理和实例
  15. 拉格朗日乘子法(自己总结一些要点)
  16. XML报表打印出错,乱码问题
  17. 倍福--两台TwinCAT3之间做Ethernet IP通信
  18. wmware网络模式
  19. 使用jasypt加密配置的时候,报错:DecryptionException: Unable to decrypt
  20. antd 表格树如何展开_antd design tree 怎样实现 :展开折叠全部树节点

热门文章

  1. Linux0.11操作系统(哈工大李治军老师)实验楼实验2-系统调用
  2. 儿知错父之过下一句_谚语父之过的上一句是什么,“子不孝父之过”的下半句是什么?...
  3. 虚拟机安装Linux问题小结
  4. java 处理pdb文件格式_PDB(Protein Data Bank)数据格式详解
  5. arcgis做dijkstra_改进的Dijkstra算法在GIS路径规划中的应用
  6. 给句话就泛滥!机器学习再加点想象,这款交互小说带你领略“无限生成的世界”
  7. python递归算法——斐波那契数列
  8. 网站SEO文章伪原创在线生成网站源码 PHP源码
  9. Eclipse版本与jdk对应版本等信息
  10. 微软OFFice复合文档