IAudioFrameObserverBase
The audio frame observer.
You can call registerAudioFrameObserver to register or unregister the IAudioFrameObserverBase audio frame observer.
onEarMonitoringAudioFrame
Gets the in-ear monitoring audio frame.
virtual bool onEarMonitoringAudioFrame(AudioFrame& audioFrame) = 0;
- Method 1: After calling setEarMonitoringAudioFrameParameters to set the audio data format and registerAudioFrameObserver to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the onEarMonitoringAudioFrame callback according to the sampling interval.
- Method 2: After calling registerAudioFrameObserver to register the audio frame observer object, set the audio data format in the return value of the getObservedAudioFramePosition callback. The SDK then calculates the sampling interval according to the return value of the getEarMonitoringAudioParams callback, and triggers the onEarMonitoringAudioFrame callback according to the sampling interval.
- The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
Parameters
- audioFrame
- The raw audio data. See AudioFrame.
Returns
Without practical meaning.
onMixedAudioFrame
Retrieves the mixed captured and playback audio frame.
virtual bool onMixedAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
- Method 1: After calling setMixedAudioFrameParameters to set the audio data format and registerAudioFrameObserver to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the onMixedAudioFrame callback according to the sampling interval.
- Method 2: After calling registerAudioFrameObserver to register the audio frame observer object, set the audio data format in the return value of the getObservedAudioFramePosition callback. The SDK then calculates the sampling interval according to the return value of the getMixedAudioParams callback, and triggers the onMixedAudioFrame callback according to the sampling interval.
- The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
Parameters
- audioFrame
- The raw audio data. See AudioFrame.
- channelId
- The channel ID.
Returns
Without practical meaning.
onPlaybackAudioFrame
Gets the raw audio frame for playback.
virtual bool onPlaybackAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
- Method 1: After calling setPlaybackAudioFrameParameters to set the audio data format and registerAudioFrameObserver to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the onPlaybackAudioFrame callback according to the sampling interval.
- Method 2: After calling registerAudioFrameObserver to register the audio frame observer object, set the audio data format in the return value of the getObservedAudioFramePosition callback. The SDK then calculates the sampling interval according to the return value of the getPlaybackAudioParams callback, and triggers the onPlaybackAudioFrame callback according to the sampling interval.
- The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
Parameters
- audioFrame
- The raw audio data. See AudioFrame.
- channelId
- The channel ID.
Returns
Without practical meaning.
onPlaybackAudioFrameBeforeMixing
Retrieves the audio frame before mixing of subscribed remote users.
virtual bool onPlaybackAudioFrameBeforeMixing(const char* channelId, rtc::uid_t uid, AudioFrame& audioFrame) = 0;
Parameters
- channelId
- The channel ID.
- uid
- The ID of subscribed remote users.
- audioFrame
- The raw audio data. See AudioFrame.
Returns
Without practical meaning.
onRecordAudioFrame
Gets the captured audio frame.
virtual bool onRecordAudioFrame(const char* channelId, AudioFrame& audioFrame) = 0;
- Method 1: After calling setRecordingAudioFrameParameters to set the audio data format and registerAudioFrameObserver to register the audio frame observer object, the SDK calculates the sampling interval according to the parameters set in the methods, and triggers the onRecordAudioFrame callback according to the sampling interval.
- Method 2: After calling registerAudioFrameObserver to register the audio frame observer object, set the audio data format in the return value of the getObservedAudioFramePosition callback. The SDK then calculates the sampling interval according to the return value of the getRecordAudioParams callback, and triggers the onRecordAudioFrame callback according to the sampling interval.
- The priority of method 1 is higher than that of method 2. If method 1 is used to set the audio data format, the setting of method 2 is invalid.
Parameters
- audioFrame
- The raw audio data. See AudioFrame.
- channelId
- The channel ID.
Returns
Without practical meaning.
getObservedAudioFramePosition
Sets the frame position for the video observer.
virtual int getObservedAudioFramePosition() = 0;
You can set one or more positions you need to observe by modifying the return value of getObservedAudioFramePosition based on your scenario requirements:
When the annotation observes multiple locations, the | (or operator) is required. To conserve system resources, you can reduce the number of frame positions that you want to observe.
Returns
- AUDIO_FRAME_POSITION_PLAYBACK(0x0001): This position can observe the playback audio mixed by all remote users, corresponding to the onPlaybackAudioFrame callback.
- AUDIO_FRAME_POSITION_RECORD(0x0002): This position can observe the collected local user's audio, corresponding to the onRecordAudioFrame callback.
- AUDIO_FRAME_POSITION_MIXED(0x0004): This position can observe the playback audio mixed by the loacl user and all remote users, corresponding to the onMixedAudioFrame callback.
- AUDIO_FRAME_POSITION_BEFORE_MIXING(0x0008): This position can observe the audio of a single remote user before mixing, corresponding to the onPlaybackAudioFrameBeforeMixing callback.
- AUDIO_FRAME_POSITION_EAR_MONITORING(0x0010): This position can observe the in-ear monitoring audio of the local user, corresponding to the onEarMonitoringAudioFrame callback.
getRecordAudioParams
Sets the audio format for the onRecordAudioFrame callback.
virtual AudioParams getRecordAudioParams() = 0;
You need to register the callback when calling the registerAudioFrameObserver method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.
The SDK triggers the onRecordAudioFrame callback with the AudioParams calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).
Ensure that the sample interval ≥ 0.01 (s).
Returns
The captured audio data, see AudioParams.
getMixedAudioParams
Sets the audio format for the onMixedAudioFrame callback.
virtual AudioParams getMixedAudioParams() = 0;
You need to register the callback when calling the registerAudioFrameObserver method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.
The SDK triggers the onMixedAudioFrame callback with the AudioParams calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).
Ensure that the sample interval ≥ 0.01 (s).
Returns
The mixed captured and playback audio data. See AudioParams.
getPlaybackAudioParams
Sets the audio format for the onPlaybackAudioFrame callback.
virtual AudioParams getPlaybackAudioParams() = 0;
You need to register the callback when calling the registerAudioFrameObserver method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.
The SDK triggers the onPlaybackAudioFrame callback with the AudioParams calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).
Ensure that the sample interval ≥ 0.01 (s).
Returns
The audio data for playback, see AudioParams.
getEarMonitoringAudioParams
Sets the audio format for the onEarMonitoringAudioFrame callback.
virtual AudioParams getEarMonitoringAudioParams() = 0;
- Since
- v4.0.1
You need to register the callback when calling the registerAudioFrameObserver method. After you successfully register the audio observer, the SDK triggers this callback, and you can set the audio format in the return value of this callback.
The SDK triggers the onEarMonitoringAudioFrame callback with the AudioParams calculated sampling interval you set in the return value. The calculation formula is Sample interval (sec) = samplePerCall/(sampleRate × channel).
Ensure that the sample interval ≥ 0.01 (s).
Returns
The audio data of in-ear monitoring, see AudioParams.