ios录音、音频播放功能
#import <AVFoundation/AVFoundation.h>
{
NSInteger _timeCount;
NSTimer *_timer;
}
@property(nonatomic,retain)AVAudioPlayer *audioPlayer;
@property(nonatomic,retain)AVAudioRecorder *recorder;
@property(nonatomic,assign)NSInteger playTag;
/**
* 创建录音机
*/
-(AVAudioRecorder *)recorder{
if (!_recorder) {
NSURL *url = [self filePath];
NSDictionary *setting = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithInt:AVAudioQualityMin],AVEncoderAudioQualityKey,[NSNumber numberWithInt:16],AVEncoderBitRateKey,[NSNumber numberWithInt:2],AVNumberOfChannelsKey,[NSNumber numberWithFloat:44100.0],AVSampleRateKey,nil];
NSError *error=nil;
_recorder=[[AVAudioRecorder alloc]initWithURL:url settings:setting error:&error];
_recorder.delegate=self;
_recorder.meteringEnabled=YES;
if (error) {
NSLog(@"录音错误:%@",error.localizedDescription);
}
[_recorder prepareToRecord];
}
return _recorder;
}
//返回文件的路径
-(NSURL *)filePath
{
NSString *strPath=[NSTemporaryDirectory() stringByAppendingPathComponent:@"aaa.caf"];
NSLog(@"%@-----------",strPath);
NSURL *url=[NSURL fileURLWithPath:strPath];
return url;
}
//弹出录音页面
-(void)addAudioView{
self.navigationItem.rightBarButtonItem.enabled = NO;
_backView = [[ UIView alloc]initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT)];
_backView.alpha = 0.5;
_backView.backgroundColor = [ UIColor blackColor];
[self.view addSubview:_backView];
_audioView = (AudioRecorderAlterView *)[[[NSBundle mainBundle]loadNibNamed:@"AudioRecorderAlterView" owner:nil options:nil]lastObject];
_audioView.frame = CGRectMake(0, 64, 200, 200);
_audioView.center = CGPointMake(self.view.center.x, 200);
[_audioView.EndBtn addTarget:self action:@selector(pulishVedio) forControlEvents:UIControlEventTouchUpInside];
[_audioView.CannelBtn addTarget:self action:@selector(cancleBtnClick) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_audioView];
}
//点击录音按钮
- (IBAction)vedioBtnClick:(id)sender {
if ([_audioPlayer isPlaying]) {
[_audioPlayer stop];
UIImageView *animationImageView_last = (UIImageView *)[self.view viewWithTag:_playTag + 10000];
[animationImageView_last stopAnimating];
}
if ([self canRecord]) {
[self addAudioView];
if (![self.recorder isRecording]) {
[self.recorder record];
}
[self addTimer];
}
}
ios录音、音频播放功能的更多相关文章
- 【iOS录音与播放】实现利用音频队列,通过缓存进行对声音的采集与播放
都说iOS最恶心的部分是流媒体,其中恶心的恶心之处更在即时语音. 所以我们先不谈即时语音,研究一下,iOS中声音采集与播放的实现. 要在iOS设备上实现录音和播放功能,苹果提供了简单的做法,那就是利用 ...
- iOS开发----音频播放、录音、视频播放、拍照、视频录制
随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操 ...
- Swift实现iOS录音与播放音频功能
作用AVPLayer:可以用来播放在线及本地音视频AVAudioSession:音频会话,主要用来管理音频设置与硬件交互使用时需要导入 #import <AVFoundation/AVFound ...
- 【iOS 录音转码MP3及转码BASE64上传】
iOS 录音转码MP3及转码BASE64上传 一,开始录音 NSLog(@"开始录音"); [self startRecord]; - (void)startRecord { // ...
- iOS 9音频应用播放音频之控制播放速度
iOS 9音频应用播放音频之控制播放速度 iOS 9音频控制播放速度 iOS9音频文件在播放时是以一定的速度进行的.这个速度是可以进行更改的,从而实现iOS9音频文件的快速播放和慢速播放功能.要实现i ...
- iOS 9音频应用播放音频之音量设置与声道设置
iOS 9音频应用播放音频之音量设置与声道设置 iOS 9音频应用音量设置 音量又称响度.音强,是指人耳对所听到的声音大小强弱的主观感受,其客观评价尺度是声音的振幅大小.在iOS 9音频应用的应用中, ...
- iOS 9音频应用播放音频之第一个ios9音频实例
iOS 9音频应用播放音频之第一个ios9音频实例 第一个ios9音频实例 为了让开发者可以对上面的内容有更加深入的了解,本节将实现播放音频的第一个实例.在此实例中会涉及到项目的创建.界面设计.关联以 ...
- iOS 9音频应用开发基础教程
iOS 9音频应用开发基础教程(大学霸内部资料) 介绍:iOS 9音频应用开发基础教程(内部资料)是iOS 9音频应用开发专向教程.本书采用Swift 2.0语言开发基于iOS 9的音频应用.实现 ...
- iOS 微信 音频 视频自动播放
iOS 微信 音频 视频自动播放 http://www.w3ctech.com/topic/1165
- iOS底层音频处理技术(带源代码)
本文由论坛会员artgolff分享 前几天搜索资料时发现一个网站: iPhone Core Audio Development ,里面有iOS底层 音频 技术的几个源 代码 ,如果你要实现VoIP电话 ...
随机推荐
- lua-nginx-module 学习
下载安装LuaJIT cd /usr/local/src sudo wget http://luajit.org/download/LuaJIT-2.0.3.tar.gz tar -xzvf LuaJ ...
- 【jq】c#零基础学习之路(5)自己编写简单的Mylist<T>
public class MyList<T> where T : IComparable { private T[] array; private int count; public My ...
- WingIDE中文乱码问题解决方法
WingIDE中文乱码问题解决方法 安装完WingIDE后,首次运行python脚本时,若脚本中含有UTF-8中文,在Debug I/O输出框中,全部变成了乱码. 这时其实我们设置下WingIDE的编 ...
- UIScrollView在AutoLayout下的滚动问题
使用Storyboard编写UI,设置支持AutoLayout. 在其中的一个场景上,添加一个UIScrollView,在对应的代码里增加 - (void)viewDidLoad { [super v ...
- Web前端开发学习心得(一)
说快也快,说慢也慢.自学前端一个月了,进步不算大,不过仔细想来,倒也收获不少.码几行字,一是总结经验,二是继往开来. 刚开始是跟慕课网学的HTML+CSS,慕课网的课程虽然好,但好多知识都是特别基础的 ...
- 第一个Struts2程序之HelloWorld
1.Struts2 简介 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与St ...
- build配置
buildTypes { debug { // 显示Log buildConfigField "boolean", ...
- ASP.NET MVC获取微信返回的json数据分页
View @model JiaYe.WeiXin.Models.ViewModels.UserViewModel <div class="pull-left pagination&qu ...
- 扩展Redis的Lua调用方式
Redis是支持Lua脚本的,但是我以为并不方便. 1. SCRIPT LOAD一个字符串拿到一个SHA,首先这个Lua script脚本就很难拿到.Linux一般用cat什么的.但是你作为PHP怎么 ...
- SQL分页查询
假如tb_customer表中的数据量非常大,在显示时要分页显示而且每页只显示10条信息.为了效果我们取第三页的数据. 方法一:遍历两次表,取不同的数据. select top 10 * from t ...