音视频观测器
RegisterAudioFrameObserver [1/2]
注册 PCM 音频帧观测器。
C#
public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer);
详情
你需要在该方法中实现一个 IAudioPcmFrameSink 类,并根据场景需要,注册该类的回调。成功注册音频帧观测器后,SDK 会在捕捉到每个音频帧时,触发你所注册的回调。
参数
- observer
 - 音频帧观测器,观测每帧音频的接收,详见 IAudioPcmFrameSink。
 
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
RegisterAudioFrameObserver [2/2]
注册音频帧观测器。
C#
public abstract int RegisterAudioFrameObserver(IAudioPcmFrameSink observer, RAW_AUDIO_FRAME_OP_MODE_TYPE mode);
参数
- observer
 音频帧观测器,观测每帧音频的接收,详见 IAudioPcmFrameSink。
- mode
 音频帧的使用模式,详见 RAW_AUDIO_FRAME_OP_MODE_TYPE。
返回值
- 0: 方法调用成功。
 - < 0: 方法调用失败。详见错误码了解详情和解决建议。
 
UnregisterAudioFrameObserver
OnAudioVolumeIndication
OnFrame
已获取音频帧回调。
C#
public virtual bool OnFrame(AudioPcmFrame frame)
        {
            return true;
        }
详情
注册音频数据观测器后,每次接收到一帧音频帧时,都会触发该回调,报告音频帧信息。
参数
- frame
 - 音频帧信息。详见 AudioPcmFrame。
 
返回值
无实际含义。
所属接口类OnMetaData
OnPlayBufferUpdated
报告当前缓冲数据能播放的时间。
C#
public virtual void OnPlayBufferUpdated(Int64 playCachedBuffer) { }
详情
 播放在线媒体资源的过程中,SDK 会每隔 1 秒触发一次该回调,报告当前缓冲的数据能支持的播放时间。 
- 当缓冲数据支持的播放时间小于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_LOW (6)。
 - 当缓冲数据支持的播放时间大于阈值(默认为 0)时,返回 PLAYER_EVENT_BUFFER_RECOVER (7)。
 
参数
- playCachedBuffer
 - 当前缓冲的数据能支持的播放时间 (毫秒)。
 
OnPlayerEvent
报告播放器的事件。
C#
public virtual void OnPlayerEvent(MEDIA_PLAYER_EVENT eventCode, Int64 elapsedTime, string message) { }
详情
- 调用 Seek 定位播放后,SDK 会触发该回调,报告定位播放的结果。
 
参数
- eventCode
 - 播放器事件,详见 MEDIA_PLAYER_EVENT。
 - elapsedTime
 - 发生事件的时间 (毫秒)。
 - message
 - 事件的信息。
 
OnPlayerInfoUpdated
媒体播放器相关信息发生改变回调。
C#
public virtual void OnPlayerInfoUpdated(PlayerUpdatedInfo info) { }
详情
当媒体播放器相关信息发生改变时,SDK 会触发该回调。你可用其进行问题定位和排查。
参数
- info
 - 媒体播放器相关信息。详见 PlayerUpdatedInfo。
 
OnPlayerSourceStateChanged
报告播放器状态改变。
C#
public virtual void OnPlayerSourceStateChanged(MEDIA_PLAYER_STATE state, MEDIA_PLAYER_REASON reason)
详情
当播放器状态改变时,SDK 会触发该回调,报告新的播放状态。
参数
- state
 - 新的播放状态,详见 MEDIA_PLAYER_STATE。
 - reason
 - 播放器状态改变的原因,详见 MEDIA_PLAYER_REASON。
 
OnPlayerSrcInfoChanged
OnPositionChanged
OnPreloadEvent
报告预加载媒体资源的事件。
C#
public virtual void OnPreloadEvent(string src, PLAYER_PRELOAD_EVENT @event) { }
参数
- src
 - 媒体资源的路径。
 - @event
 - 预加载媒体资源时发生的事件。详见 PLAYER_PRELOAD_EVENT。
 
OnReadData
读取媒体资源数据回调。
C#
public virtual int OnReadData(IntPtr bufferPtr, int bufferSize)
        {
            return 0;
        }
详情
使用 OpenWithMediaSource 打开媒体资源时,SDK 会触发该回调向你请求传入媒体资源数据的 Buffer。
参数
- bufferPtr
 - 输入参数,数据 Buffer,单位为字节。请将 SDK 报告的 bufferSize 数据写入到此参数中。
 - bufferSize
 - 数据 Buffer 的长度,单位为字节。
 
返回值
- 如果读取数据成功,请在返回值中传入你实际读取的数据长度,单位为字节。
 - 如果读取数据失败,请在返回值中传入 0。