获取iPhone手机上话筒的声音
来源:互联网 发布:淘宝手抓饼哪个牌子好 编辑:程序博客网 时间:2024/06/12 01:05
http://blog.csdn.net/youngshook/article/details/7028394
1。添加头文件,并添加相应的framework
#import<CoreMedia/CoreMedia.h>
#import<AVFoundation/AVFoundation.h>
2。添加 AVCaptureAudioDataOutputSampleBufferDelegate
3。初始化并开始获取声音
AVCaptureSession*captureSession;
-(void)initVoice
{
if(captureSession)
{
[captureSessionstartRunning];
}
else
{
captureSession= [[AVCaptureSessionalloc]init];
AVCaptureDevice*audioDevice = [AVCaptureDevicedefaultDeviceWithMediaType:AVMediaTypeAudio];
if(audioDevice) {
NSError*error;
AVCaptureDeviceInput*audioIn = [AVCaptureDeviceInputdeviceInputWithDevice:audioDeviceerror:&error];
if ( !error ) {
if ([captureSession canAddInput:audioIn])
[captureSession addInput:audioIn];
else
NSLog(@"Couldn't add audio input");
}
else
NSLog(@"Couldn't create audio input");
}
else
NSLog(@"Couldn't create audio capture device");
AVCaptureAudioDataOutput*audioOut = [[AVCaptureAudioDataOutputalloc]init];
[audioOutsetSampleBufferDelegate:selfqueue:dispatch_get_main_queue()];
if ([captureSession canAddOutput:audioOut]) {
[captureSession addOutput:audioOut];
//audioConnection =
[audioOutconnectionWithMediaType:AVMediaTypeAudio];
}
else
NSLog(@"Couldn't add audio output");
[audioOut release];
[captureSessionstartRunning];
}
}
附件:需要用到的AVCaptureAudioDataOutput
#define SINT16_MAX 32767.0;
@interface AVCaptureOutput (AVCaptureOutputUtilities)
- (AVCaptureConnection *)connectionWithMediaType:(NSString *)mediaType;
@end
@implementation AVCaptureOutput (AVCaptureOutputUtilities)
- (AVCaptureConnection *)connectionWithMediaType:(NSString *)mediaType {
for(AVCaptureConnection*connectioninself.connections) {
for ( AVCaptureInputPort *port in [connection inputPorts] ) {
if ( [[port mediaType] isEqual:mediaType] ) {
return [[connection retain] autorelease];
}
}
}
returnnil;
}
@end
- 获取iPhone手机上话筒的声音
- 调用API获取话筒声音
- Android 获取话筒声音波动
- 只能录话筒声音不能录播放内容的解决方法
- iphone的声音
- 如何录制iPhone手机上的视频
- 获取iPhone手机的型号 iOS
- 获取iPhone手机的内存信息
- 关于Android手机声音音量的获取和设置
- 获取 Iphone 手机信息
- 获取 Iphone 手机信息
- 获取 Iphone 手机信息
- iPhone手机获取uuid
- Android 获取手机系统的声音设置管理通知提醒的声音
- Android 获取手机系统的声音设置管理通知提醒的声音
- 如何将IPhone手机上的联系人移到Android手机
- iphone 录音之简单声音获取
- iphone手机黑屏了 但是打电话过来是通的声音
- JavaScript eval()和JSON
- [设计模式]学习设计模式之二(原则1)
- Flex 可编辑的 Spark List 组件
- Python 多进程_进程池_多线程_线程池实现比较
- z-index 使用 混乱 错误 的原因
- 获取iPhone手机上话筒的声音
- android 2.3 电源管理
- 多文件上传带进度条的
- MyEclipse插件的编码设置(新手查看)
- 计算机多用户登录(扫盲)
- android
- 电子政务IT运维管理发展方向探讨
- 二维数组去掉空
- mahout推荐引擎简介