AVAudioRecorder进行录音,后台音乐被无情的停止了解决方法如下:
首先,在开始录音之前,设置
[[AVAudioSession
sharedInstance]setActive:YESerror:nil];
[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryPlayAndRecorderror:nil];
然后在录音结束后,既就是在它的回调函数
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder*)aRecorder successfully:(BOOL)flag
里加上:[[AVAudioSessionsharedInstance]setActive:NOerror:nil];
即可。
(用AVAudioPlayer来播放音乐也同样处理)
AVAudioSession的Active属性,既就是设置你的音频会话的启动与关闭
在你的录音结束后,一定要关闭AVAudioSession,后台音乐才会自己启动的。(网上的好多例子都只是启动它,但是并没有关闭,所以导致了AVAudioSession一直是激活状态,堵塞了后台音乐的正常播放)
AVAudioSession的Category属性是设置其类别,它有一下几种类别:
获取输入硬件 获取输出硬件 与IPOD混合
遵从振铃/静音
AVAudioSessionCategoryAmbient否 是 是
是
AVAudioSessionCategorySoloAmbient 否 是 否
是
AVAudioSessionCategoryPlayback否 是 否
否
AVAudioSessionCategoryRecord 是 否 否
否
AVAudioSessionCategoryPlayAndRecord 是 是 否
否
如果你想让你的音乐在程序退出后继续在后台播放,
可以这样设置:
[[AVAudioSessionsharedInstance]setCategory:AVAudioSessionCategoryPlayAndRecorderror:nil];
再在你工程的plist里加上
在info.plist里面添加
<key>Required background modes</key>
<array>
<string>App plays audio</string>
</array>
即可。
分享到:
相关推荐
我在git上也上传了一份https://github.com/yuanjunxiao/ios-AVAudioRecorder-.git
AVAudioRecorder 的使用演示
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
YZSimpleAudioKit 一些用于 AVAudioPlayer 和 AVAudioRecorder 的“包装类”或自定义类。
1 使用AVAudioRecorder录音成wav文件 2 为了避免录音启动耗时0 5秒(因为我录音时会有个mic图片的gif 发现显示gif显示被延时0 5秒) 所以 开启子线程做录音的operation 3 为了让可恶的android也能使用 需要将wav >...
iOS AVFoundation框架下的AVAudioRecorder录音机的实现。
播放本地音频、AVAudioRecorder和Audio Queue录制音频、拍照等功能
添加AVFoundation Framework 为使用AVAudioRecorder类,我们需要向项目添加AVFoundation framework: 在项目Groups & Files面板上展开Targets 按Control-点击或右击MicBlow 选择Add > Existing Frameworks… 按下...
在AVFoundation框架中有一个AVAudioRecorder类专门处理录音操作,它同样支持多种音频格式。与AVAudioPlayer类似,你完全可以将它看成是一个录音机控制类,下面是常用的属性和方法: 先来了解下AVAudioRecorder的常用...
-- IOS利用AVFoundation框架实现录音和播放 (AVAudioSession AVAudioRecorder AVAudioPlayer) -- IOS之分析网易新闻存储数据 CoreData的使用 增删改查 -- IOS二维码扫描Demo -- 18个 ios 项目源代码 -- iOS通讯录...
音频的录制与播放,进行封装后的单例工具组件。 (1)使用AVAudioRecorder进行录音 (2)使用AVAudioPlayer进行音频播放 SYAudio:https://github.com/potato512/SYAudio
二、使用AVAudioRecorder录音; 三、使用AVAudioPlayer播放,并添加播放动画; 四、使用lame将caf音频转化为mp3; 五、将mp3 转化为 base64编码; 六、查看录音文件大小; 七、删除语音文件;
_recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL fileURLWithPath:audioPath] settings:_recordSetting error:&error]; }else { [_recorder release]; _recorder = [[AVAudioRecorder alloc] ...
AudioJz 音频工具箱 0.8 0.7 0.6 深入探索一些 0.5 ...以下是AVAudioPlayer,AVAudioRecorder 0.2 0.1 把Ray Wenderlich的音频教程,从Swift 2更新到Swift 5,并进行适当的修改,调试 PS: 0.2
上一篇中总结了iOS中音效和音频播放的最基本使用方法,其中音频的播放控制是使用AVFoundation.framework框架中的AVAudioPlayer播放器对象来实现的,而这里音频的录制则是使用了同样框架下的一个叫AVAudioRecorder的...
作者potato512,源码SYAudio,音频的录制与播放,进行封装后的单例工具组件。(1)使用AVAudioRecorder进行录音(2)使用AVAudioPlayer进行音频播放
背景 因为我的公司需要设计到app与硬件的通信,所以去年深入...由于App是通过AVAudioRecorder录制音频,默认格式为pcm,文件比较大,所以不适合用于聊天通信的文件格式,所以最优的选择是转换成amr格式 音频格式转换方式
AVAudioRecorder *audioRecorder; } @end 在ViewDidLoad中: UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(100, 100, 100, 100); ; button.b
96. Recording Audio on iOS 10 with AVAudioRecorder 97. An iOS 10 Speech Recognition Tutorial 98. An iOS 10 Real-Time Speech Recognition Tutorial 99. An Introduction to SiriKit 100. An iOS 10 Example ...