webrtc開發中,音訊實時對講採集的問題(ios mic mute)

憶江南的部落格發表於2015-08-04

需求是這樣的,在音視訊出來後,在按住一個按鈕的時候,進行音訊傳輸,按鈕鬆開的時候,不進行音訊傳輸。

程式碼如下:

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);

    

}


這樣就實現了以上需求。


相關文章