webrtc开发中,音频实时对讲采集的问题(ios mic mute)
2015-08-04 17:46
507 查看
需求是这样的,在音视频出来后,在按住一个按钮的时候,进行音频传输,按钮松开的时候,不进行音频传输。
代码如下:
1、先在micbtn上绑定两个方法:
[self.micBtn
addTarget:self
action:@selector(onMicBtnDown)
forControlEvents:UIControlEventTouchDown];
[self.micBtn
addTarget:self
action:@selector(onMicBtnUp)
forControlEvents:UIControlEventTouchUpInside];
2、实现里面的控制音频采集的方法:
- (void) onMicBtnUp
{
OSStatus status;
UInt32 inputAvailable=0;
UInt32 size = sizeof(inputAvailable);
AudioSessionGetProperty(kAudioSessionProperty_AudioInputAvailable,
&size,
&inputAvailable);
UInt32 sessionCategory;
sessionCategory =
kAudioSessionCategory_AmbientSound;
status =
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory);
}
- (void) onMicBtnDown
{
OSStatus status;
UInt32 inputAvailable=0;
UInt32 size = sizeof(inputAvailable);
AudioSessionGetProperty(kAudioSessionProperty_AudioInputAvailable,
&size,
&inputAvailable);
UInt32 sessionCategory;
sessionCategory =
kAudioSessionCategory_PlayAndRecord;
status =
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory);
}
这样就实现了以上需求。
代码如下:
1、先在micbtn上绑定两个方法:
[self.micBtn
addTarget:self
action:@selector(onMicBtnDown)
forControlEvents:UIControlEventTouchDown];
[self.micBtn
addTarget:self
action:@selector(onMicBtnUp)
forControlEvents:UIControlEventTouchUpInside];
2、实现里面的控制音频采集的方法:
- (void) onMicBtnUp
{
OSStatus status;
UInt32 inputAvailable=0;
UInt32 size = sizeof(inputAvailable);
AudioSessionGetProperty(kAudioSessionProperty_AudioInputAvailable,
&size,
&inputAvailable);
UInt32 sessionCategory;
sessionCategory =
kAudioSessionCategory_AmbientSound;
status =
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory);
}
- (void) onMicBtnDown
{
OSStatus status;
UInt32 inputAvailable=0;
UInt32 size = sizeof(inputAvailable);
AudioSessionGetProperty(kAudioSessionProperty_AudioInputAvailable,
&size,
&inputAvailable);
UInt32 sessionCategory;
sessionCategory =
kAudioSessionCategory_PlayAndRecord;
status =
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory,
sizeof (sessionCategory),
&sessionCategory);
}
这样就实现了以上需求。
相关文章推荐
- iOS keyChain 研究
- iOS依赖注入框架系列(三):模块化Typhoon
- iOS依赖注入框架系列(二):设置Typhoon
- iOS依赖注入框架系列(一):介绍Typhoon
- IOS 页面跳转传值方法总结
- iOS培训-oc类中常用数据类型总结
- 在企业内部分发 iOS 应用程序(旧版)
- iOS 实现圆角图片显示
- IOS开发教程--Xcode6,CLLocationManager无法定位解决方案
- iOS键盘通知
- IOS开发-设置头像(圆形)
- ios调支付宝找不到头文件<openssl/rsa.h>
- ios 内存使用陷阱
- layoutSubviews和drawRect何时调用?
- iOS中几种数据持久化方案-1
- 关于iOS推送中点击通知的几点(备忘)
- IOS7 edgesForExtendedLayout
- iOS通讯录联系人列表较完整(中文排序)
- IOS中设置全局变量
- iOS培训-oc类