AtomicPlayer 管理低延迟直播和 CDN 流的视频播放。 渲染视图在运行时通过 setView 绑定;视频帧将渲染到给定的 AtomicLiveView 容器中。此绑定与视图的窗口挂载时序解耦:在视图挂载到窗口前调用 setView 是安全的(例如在 UICollectionViewCell 或 RecyclerView 中),绑定将在视图就绪后自动完成。 主要能力:startPlay / stopPlay)。setView / setRenderRotation)。joinChannel / leaveChannel)。switchStream)。enableReceiveSeiMessage)。state 实时状态、PlayerStatistics 统计信息)。playerEvent、Kotlin 通过 addListener 接收 SEI 数据、错误、直播结束、被踢出等事件)。属性名 | 类型 | 描述 |
playbackStatus | 播放状态,反映当前播放生命周期。 | |
statistics | 播放运行时统计,由 SDK 周期性上报。 | |
totalViewerCount | ValueListenable<int> | 总观众数。 |
函数名 | 描述 |
添加播放器事件回调监听器。 | |
移除播放器事件回调监听器。 | |
设置渲染视图。 | |
设置渲染旋转角度。 | |
开始播放指定 URL 的远端流。 | |
停止播放。 | |
设置播放音量。 | |
离开频道。 | |
启用或禁用 SEI 消息接收。 | |
通过键值对启用高级特性。 |
void addListener(PlayerListener? listener);
参数名 | 类型 | 描述 |
listener | 监听器。 |
void removeListener(PlayerListener? listener);
参数名 | 类型 | 描述 |
listener | 监听器。 |
AtomicLiveView 容器中。此绑定与视图挂载窗口的时机解耦:可在视图挂载窗口前调用(如 UICollectionView cell 或 RecyclerView 中),视图就绪后自动完成绑定。void setView(AtomicLiveWidget view);
参数名 | 类型 | 描述 |
view | 渲染视图容器。 |
void setRenderRotation(PlayerRenderRotation rotation);
参数名 | 类型 | 描述 |
rotation | 渲染旋转角度。 |
void startPlay(String url);
参数名 | 类型 | 描述 |
url | String | 流地址。 |
void stopPlay();
void setVolume(int volume);
参数名 | 类型 | 描述 |
volume | int | 音量等级,取值范围 0 ~ 100;超出范围的值会被截断。 |
void leaveChannel();
PlayerEvent.seiReceived 事件投递。void enableReceiveSeiMessage(bool enable, int payloadType);
参数名 | 类型 | 描述 |
enable | bool | 是否启用 SEI 消息接收。 |
payloadType | int | 要过滤的 SEI payload 类型。常见值:243(自定义布局)、100(音量布局)、245(ASR 消息)。 |
void enableAdvancedFeature(String key, Object value);
参数名 | 类型 | 描述 |
key | String | 特性键。 |
value | Object | 特性值,类型取决于具体键。 |
枚举值 | 值 | 说明 |
ok | 0 | 无错误,操作成功。 |
errorInvalidParameter | -1001 | 参数非法。 |
startPlayIDLE ──────────────────▶ LOADING▲ ││ play succeededstopPlay │connection lost ││ ▼│◀─────────────────────PLAYING ◀────────────────┐│ │ ││ │ ││ buffering recover succeeded│ │ ││ ▼ │└──────────────────────LOADING ─────────────────┘
IDLE 为初始状态;调用 stopPlay 后也会回到该状态。 缓冲 / 自动恢复过程复用 LOADING,不区分“首次加载”与“重新缓冲”。枚举值 | 值 | 说明 |
idle | 0 | 空闲。初始状态,或播放停止 / 连接断开。 |
loading | 1 | 加载中。正在建立连接或缓冲数据;视频尚未开始或暂时停顿。 |
playing | 2 | 播放中。链路正常,视频流畅播放。 |
枚举值 | 值 | 说明 |
rotation0 | 0 | 不旋转。 |
rotation90 | 1 | 顺时针旋转 90 度。 |
rotation180 | 2 | 顺时针旋转 180 度。 |
rotation270 | 3 | 顺时针旋转 270 度。 |
枚举值 | 值 | 说明 |
endedByHost | 0 | 主播主动结束。 |
endedByServer | 1 | 由服务端结束。 |
枚举值 | 值 | 说明 |
byAdmin | 0 | 被管理员踢出。 |
byLoggedOnOtherDevice | 1 | 在其他设备登录。 |
byServer | 2 | 被服务端踢出。 |
forNetworkDisconnected | 3 | 网络断开。 |
forLiveChannelExpired | 4 | 直播频道过期。 |
addListener / removeListener 注册/移除监听器。属性 | 类型 | 说明 |
videoWidth | int | 视频宽度(像素)。 |
videoHeight | int | 视频高度(像素)。 |
videoFps | int | 视频帧率(fps)。 |
videoBitrate | int | 视频码率(bps)。 |
audioBitrate | int | 音频码率(bps)。 |
state 读取当前值或观察变化。属性 | 类型 | 说明 |
playbackStatus | 播放状态,反映当前播放生命周期。 | |
statistics | 播放运行时统计,由 SDK 周期性上报。 | |
totalViewerCount | ValueListenable<int> | 总观众数。 |
文档反馈