文档中心
AI 互动课堂
API 参考
Agora Media Streaming Server SDK API Reference for C++
Media Streaming Server SDK API Reference for C++
◆ ~IMediaStreamingEngineEventHandler()
virtual agora::mediaserver::IMediaStreamingEngineEventHandler::~IMediaStreamingEngineEventHandler |
( |
| ) |
|
|
inlinevirtual |
◆ onError()
该回调表示 SDK 运行时出现了(网络或媒体相关的)错误。
通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要服务端干预或提示。
- 参数
-
◆ onJoinChannelSuccess()
virtual void agora::mediaserver::IMediaStreamingEngineEventHandler::onJoinChannelSuccess |
( |
const char * |
channelId, |
|
|
uid_t |
uid |
|
) |
| |
|
pure virtual |
◆ onLeaveChannel()
virtual void agora::mediaserver::IMediaStreamingEngineEventHandler::onLeaveChannel |
( |
agora::linuxsdk::LEAVE_PATH_CODE |
code | ) |
|
|
pure virtual |
◆ onUserJoined()
该回调提示有远端用户(通信场景)/主播(直播场景)加入当前频道,并上报新加入用户/主播的 UID。
如果在 IMediaStreamingEngine 实例加入之前,已经有用户在频道中,则当 IMediaStreamingEngine
实例加入频道时,SDK 会上报已在频道中的所有用户/主播 UID,频道内有多少用户/主播,该回调就会调用几次。加入频道后,该回调只会在远端用户/主播加入当前频道时触发,并只会上报新加入用户/主播的 UID。
该回调在如下情况下会被触发:
- 远端用户/主播调用
joinChannel
方法加入频道。
- 远端用户加入频道后调用
setClientRole
将用户角色改变为主播。
- 远端用户/主播网络中断后重新加入频道。
IMediaStreamingEngine
加入频道且频道内已有主播/用户。 - 参数
-
◆ onUserOffline()
该回调提示有远端用户(通信场景)/主播(直播场景)离开了频道或掉线。
用户离开频道有两个原因,即正常离开和超时掉线:
- 正常离开的时候,远端用户/主播会收到类似“再见”的消息,接收此消息后,判断用户离开频道
- 超时掉线的依据是,一定时间内(约 20 秒),用户没有收到对方的任何数据包,则判定为对方掉线。在网络较差的情况下,有可能会误报。Agora 建议使用 Agora 实时消息 SDK 来做可靠的掉线检测。
- 参数
-
◆ onConnectionLost()
virtual void agora::mediaserver::IMediaStreamingEngineEventHandler::onConnectionLost |
( |
| ) |
|
|
pure virtual |
◆ onConnectionInterrupted()
virtual void agora::mediaserver::IMediaStreamingEngineEventHandler::onConnectionInterrupted |
( |
| ) |
|
|
pure virtual |
◆ onMediaStreamingStateChanged()
virtual void agora::mediaserver::IMediaStreamingEngineEventHandler::onMediaStreamingStateChanged |
( |
const char * |
urlPlaylist, |
|
|
int |
stateStreaming, |
|
|
int |
errCode |
|
) |
| |
|
pure virtual |
当前文件的推流状态发生变化或者出错时,触发该回调。
- 参数
-
urlPlaylist | 当前文件的本地路径。 |
stateStreaming | 当前推流状态, 详见 MEDIASERVER_STREAMING_STATE。 |
errCode | 推流文件播放失败时上报的错误码。该错误码随时可能更新,故仅可用于诊断失败原因,请勿在集成业务时依赖该错误码数值。
-1 :指定文件路径为空或不存在,或无法读取 MP4 文件。
-3 :不正确的文件类型。
-4 :文件中无音视频媒体信息。
-5 :文件中无音频媒体信息。
-6 :文件中无视频媒体信息。
-7 :音视频编码格式错误。Media Streaming Server SDK 支持 AAC 和 Opus 音频编码和 H.264 视频编码。
|
◆ onMediaStreamingProgress()
◆ onMediaStreamingStats()