2017-05-23 53 views
0

我正在使用webrtc mobile(ios)。我無法在webrtc(ios)中禁用音頻。我沒有禁用音頻的標誌。通過更改框架/庫可以輕鬆完成。我的目的是我必須在不改變框架/庫的情況下禁用音頻。誰能幫我?。如何在不改變框架的情況下禁用webrtc mobile app(ios)中的音頻

+1

@Ved請不要格式化這樣的修改;它不會使文章更容易閱讀,而且代碼格式只能用於代碼。請參閱[我如何進行良好的編輯?](https://meta.stackoverflow.com/q/303219/3476191)謝謝! – NobodyNada

回答

2

使用代碼段更新您的問題,您如何創建mediaStrem或曲目(音頻/視頻)。

一般用默認本地的WebRTC框架,

RTCMediaStream localStream = [_factory mediaStreamWithStreamId:kARDMediaStreamId]; 
if(audioRequired) { 
    RTCAudioTrack *aTrack = [_lmStream createLocalAudioTrack]; 
    [localStream addAudioTrack:aTrack]; 
} 
RTCVideoTrack *vTrack = [_lmStream createLocalVideoTrack]; 
[localStream addVideoTrack:vTrack]; 
[_peerConnection addStream:localStream]; 

如果你想在通話期間將音頻靜音,使用下面的功能。

- (void)enableAudio:(NSString *)id isAudioEnabled:(BOOL) isAudioEnabled { 
    NSLog(@"Auido enabled: %d streams count:%d ", id, isAudioEnabled, _peerConnection.localStreams.count); 
    if(_peerConnection.localStreams.count > 0) { 
    RTCMediaStream *lStream = _peerConnection.localStreams[0]; 
    if(lStream.audioTracks.count > 0) { // Usually we will have only one track. If you have more than one, need to traverse all. 
     // isAudioEnabled == 1 -> Unmute 
     // isAudioEnabled == 0 -> Mute 
     [lStream.audioTracks[0] setIsEnabled:isAudioEnabled]; 
    } 
    } 
} 
相關問題