需求是这样的,在音视频出来后,在按住一个按钮的时候,进行音频传输,按钮松开的时候,不进行音频传输。
代码如下:
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);
}
这样就实现了以上需求。