using System;
namespace Agora.Rtc
{
///
///
/// The encoded audio observer.
///
///
public abstract class IAudioEncodedFrameObserver
{
///
///
/// Gets the encoded audio data of the local user.
/// After calling RegisterAudioEncodedFrameObserver and setting the encoded audio as AUDIO_ENCODED_FRAME_OBSERVER_POSITION_RECORD, you can get the encoded audio data of the local user from this Callback.
///
///
/// The audio buffer.
///
/// The data length (byte).
///
/// Audio information after encoding. See EncodedAudioFrameInfo .
///
public virtual void OnRecordAudioEncodedFrame(IntPtr frameBufferPtr, int length,
EncodedAudioFrameInfo audioEncodedFrameInfo)
{
}
///
///
/// Gets the encoded audio data of all remote users.
/// After calling RegisterAudioEncodedFrameObserver and setting the encoded audio as AUDIO_ENCODED_FRAME_OBSERVER_POSITION_PLAYBACK, you can get encoded audio data of all remote users through this Callback.
///
///
/// The audio buffer.
///
/// The data length (byte).
///
/// Audio information after encoding. See EncodedAudioFrameInfo .
///
public virtual void OnPlaybackAudioEncodedFrame(IntPtr frameBufferPtr, int length,
EncodedAudioFrameInfo audioEncodedFrameInfo)
{
}
///
///
/// Gets the mixed and encoded audio data of the local and all remote users.
/// After calling RegisterAudioEncodedFrameObserver and setting the audio profile as AUDIO_ENCODED_FRAME_OBSERVER_POSITION_MIXED, you can get the mixed and encoded audio data of the local and all remote users through this Callback.
///
///
/// The audio buffer.
///
/// The data length (byte).
///
/// Audio information after encoding. See EncodedAudioFrameInfo .
///
public virtual void OnMixedAudioEncodedFrame(IntPtr frameBufferPtr, int length,
EncodedAudioFrameInfo audioEncodedFrameInfo)
{
}
};
}