最近实现了一个简单功能,类似微信发送语音,按下录音,松开结束录音;并且可播放;
效果图:
Demo下载地址:
http://download.csdn.net/download/rhljiayou/6535125
需要导入
#import <AVFoundation/AVFoundation.h>
利用此框架中的
AVAudioRecorder和AVAudioPlayer来录音和播放
以下是AVAudioRecorder录音的使用方法:
- (IBAction)downAction:(id)sender {
//按下录音
if ([self canRecord]) {
NSError *error = nil;
//必须真机上测试,模拟器上可能会崩溃
recorder = [[AVAudioRecorder alloc] initWithURL:[NSURL URLWithString:playName] settings:recorderSettingsDict error:&error];
if (recorder) {
//是否允许刷新电平表,默认是off
recorder.meteringEnabled = YES;
//创建文件,并准备录音
[recorder prepareToRecord];
//开始录音
[recorder record];
//启动定时器,为了更新电平
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(levelTimer:) userInfo:nil repeats:YES];
} else
{
int errorCode = CFSwapInt32HostToBig ([error code]);
NSLog(@"Error: %@ [%4.4s])" , [error localizedDescription], (char*)&errorCode);
}
}
}
- (IBAction)upAction:(id)sender {
//松开 结束录音
//录音停止
[recorder stop];
recorder = nil;
//结束定时器
[timer invalidate];
timer = nil;
//图片重置
soundLodingImageView.image = [UIImage imageNamed:[volumImages objectAtIndex:0]];
}
以下是AVAudioPlayer播放器的使用方法:
- (IBAction)playAction:(id)sender {
NSError *playerError;
//播放
player = nil;
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:playName] error:&playerError];
if (player == nil)
{
NSLog(@"ERror creating player: %@", [playerError description]);
}else{
[player play];
}
}
如果是7.0,第一次运行会提示,是否允许使用麦克风:
7.0需要设置:
if ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending)
{
//7.0第一次运行会提示,是否允许使用麦克风
AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *sessionError;
//AVAudioSessionCategoryPlayAndRecord用于录音和播放
[session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
if(session == nil)
NSLog(@"Error creating session: %@", [sessionError description]);
else
[session setActive:YES error:nil];
}
ok!完美,perfect!
转载来自任海丽博客
分享到:
相关推荐
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
利用AVAudioRecorder录音 利用AVAudioPlayer播放 AVAudioSession录音权限 简单的录音播放demo,类似微信的按下录音,松开录音完成,并播放。
-- IOS利用AVFoundation框架实现录音和播放 (AVAudioSession AVAudioRecorder AVAudioPlayer) -- IOS之分析网易新闻存储数据 CoreData的使用 增删改查 -- IOS二维码扫描Demo -- 18个 ios 项目源代码 -- iOS通讯录...
IOS基于AVFoundation框架的二维码扫描实现,实现时需要导入AVFoundation框架,在>IOS7系统上使用。
我在git上也上传了一份https://github.com/yuanjunxiao/ios-AVAudioRecorder-.git
IOS利用AVFoundation框架实现音频的录音和播放,视频的播放和编辑
对AVFoundation中AVPlayerLayer、AVPlayer、AVPlayerItem的封装,并且自带视图布局,可播放本地视频与网络视频。
主要为大家详细介绍了iOS框架AVFoundation实现相机拍照、录制视频功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
使用ios原生API,实现二维码的扫描、生成及读取相册中的二维码。
(Objective-C) 基于 AVFoundation 框架封装的 iOS视频编辑工具.zip
这个文档主要介绍了ios AVFoundation 框架,英语全文值得看
iOS AVFoundation框架下的AVAudioRecorder录音机的实现。
主要为大家详细介绍了iOS使用AVFoundation展示视频,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
高清彩版 IOS AVFoundation 秘籍
基于Photos和AVFoundation框架开源,相册多选与相机连拍
CustomVideoCapture 利用AVFoundation 实现视频的录制,播放功能和相机拍照功能。//使用AVFoundation拍照和录制视频的一般步骤如下://创建AVCaptureSession对象。//使用AVCaptureDevice的静态方法获得需要使用的...
上一篇中总结了iOS中音效和音频播放的最基本使用方法,其中音频的播放控制是使用AVFoundation.framework框架中的AVAudioPlayer播放器对象来实现的,而这里音频的录制则是使用了同样框架下的一个叫AVAudioRecorder的...
AVFoundation教程 适用于 iOS 的 AVFoundation 和 OpenCV 教程
AVFoundation的应用实例:音效,音频,录音,视频,摄像,照相,二维码,条形码...,由于代码过大,完整代码请到个人github上下载,求给star; github:https://github.com/coolboy-ccp/CCPAVFoundation