from:http://www.07net01.com/2015/08/893168.html
需求是这样的,在音视频出来后,在按住一个按钮的时候,进行音频传输,按钮松开的时候,不进行音频传输。
代码如下:
1、先在micbtn上绑定两个方法:
[self.micBtnaddTarget:selfaction:@selector(onMicBtnDown)forControlEvents:UIControlEventTouchDown];
[self.micBtnaddTarget:selfaction:@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);
}
这样就实现了以上需求。