AVAudioSession、AVAudioRecorder、AVAudioPlayer
来源:互联网 发布:对于上海踩踏事件知乎 编辑:程序博客网 时间:2024/05/29 19:23
按钮显示为“录音”,点击显示为“停止”,再点击显示为“录音”
实现代码:
- (IBAction)onRecordButtonPressed:(id)sender
{
UIButton button = (UIButton )sender;
[sender setTitle:([button.titleLabel.text isEqualToString:@”录音”] ? @”停止” : @”录音”)forState:UIControlStateNormal];
}
项目:
“录音按钮”按钮:点击即可录音,录音时按钮显示为“停止”,点击则停止录音,此段录音被保存
“播放录音”按钮:点击即播放刚才的录音,播放时按钮显示为“停止”,点击即停止
总结:
//利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
程序的构建主要分为以下几步:
设置音频会话类型为AVAudioSessionCategoryPlayAndRecord,因为程序中牵扯到录音和播放操作。
创建录音机AVAudioRecorder,指定录音保存的路径并且设置录音属性。
实现录音机按钮
创建音频播放器AVAudioPlayer,用于在录音完成之后播放录音。
添加录音、暂停、恢复、停止操作,需要注意录音的恢复操作其实是有音频会话管理的,恢复时只要再次调用record方法即可,无需手动管理恢复时间等。
import
pragma mark - 录音机代理方法
- (void)audioRecorderDidFinishRecording:(AVAudioRecorder *)recorder successfully:(BOOL)flag
{
[_audioSession setActive:NO error:nil];
}
【创建音频播放器AVAudioPlayer】
- (IBAction)onPlayerButton:(id)sender
{
//“播放播音”及“停止”按钮的切换
UIButton button = (UIButton )sender;
[sender setTitle:([button.titleLabel.text isEqualToString:@”播放录音”] ? @”停止” : @”播放录音”)forState:UIControlStateNormal];
if( ![_audioPlayer isPlaying] )
{
if( [[NSFileManager defaultManager] fileExistsAtPath:[self getSoundPath]] )
{
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:[self getSoundPath]] error:nil];
[_audioPlayer setDelegate:self];
//加载音频文件至缓存
[_audioPlayer prepareToPlay];
//播放音频
[_audioPlayer play];
}
}
else
[_audioPlayer stop];
}
pragma mark - 音频播放器代理方法
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
[self.playerButton setTitle:@”播放录音” forState:UIControlStateNormal];
}
- AVAudioSession、AVAudioRecorder、AVAudioPlayer
- 利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- AVAudioRecorder&AVAudioPlayer
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- IOS利用AVFoundation框架实现录音和播放(AVAudioSession、AVAudioRecorder、AVAudioPlayer)
- AVAudioRecorder录音和AVAudioPlayer播放
- iOS AVAudioPlayer AVAudioRecorder 录音和播放
- 用AVAudioRecorder录音,AVAudioPlayer播放声音很小
- AVAudioRecorder录音和AVAudioPlayer播放声音小的问题!
- AVAudioRecorder录音和AVAudioPlayer播放声音小的问题!
- AVFoundation框架实现录音和播放(AVAudioRecorder、AVAudioPlayer)
- iOS--播放声音(AVAudioPlayer)、录音(AVAudioRecorder)
- ios 使用AVAudioRecorder录制音频,然后用AVAudioPlayer进行播放
- iOS 之录音笔,AVAudioRecorder,AVAudioPlayer的使用
- AVAudioRecorder录音和AVAudioPlayer播放声音小的问题!
- AVAudioSession
- AVAudioSession
- 整理学习HTML资料
- 数值优化(Numerical Optimization)学习系列-最小二乘问题(Least-Squares)
- 常用正则表达式
- 工具代码整理_1
- hdu 2002 计算球体积 java/c
- AVAudioSession、AVAudioRecorder、AVAudioPlayer
- Xml序列化器的基本用法
- Swift学习笔记20——协议(Protocols)
- PAT1020 月饼 (25)
- 工具代码整理_2
- 数据库 SQL 2005 知识点三
- cookies原理详解
- CLLocationManager
- Android学习之Bugs