ISDP-SDK使用
时间:2023-11-01 16:15:15
SDK使用
图7.2.2-1 SDK流程
- 创建新的项目工程,导入SDK后,需要创建客户端并获取本地音视频设备信息。
- 创建本地流并初始化。
- 当用户加入房间后,将通过回调的方式通知房间内的其他用户,收到用户加入的回调后,可以对音视频流进行订阅、取消订阅等其它操作。
- 在会中,也可以对本地录音或播放设备等进行配置。
- 用户离开房间后,房间内其他用户会收到该用户离开的回调信息,离开房间后,需销毁对应资源。
在时序图中,单击相应接口名称可快速跳转到相应接口位置查看其使用方法。
- 创建引擎并初始化样例。
private void ensureEngineCreated() { try { mRtcEngine = new CreateVideoEngine().create(mContext, EngineType.ISDP); //创建引擎 mRtcEngine.createVideo(mContext, appId, videoEngineListener); //初始化引擎对象 } catch (Exception e) { } }
2.回调监听器样例。
private ISDPVideoEngineListener videoEngineListener = new ISDPVideoEngineListener () { @Override //远端视频流状态变化回调 public void onRemoteVideoStateChanged(String s, int i, int i1, int i2) { } @Override //远端音频流状态变化回调 public void onRemoteAudioStateChanged(String s, int i, int i1, int i2) { } @Override //加入房间成功回调 public void onJoinMainChannelSuccess(String s, String s1, int i) { } @Override //远端用户加入房间回调 public void onMainUserJoined(String s, String s1, int i) { } @Override //加入房间失败回调 public void onMainError(int i) { } @Override //远端用户离开房间回调 public void onMainUserOffline(String s, int i) { } @Override //离开房间回调 public void onMainLeaveChannel(RtcStats rtcStats) { } @Override //远端用户第一帧解码成功回调 public void onMainFirstRemoteVideoFrame(String s, int i, int i1, int i2) { } @Override //用户第一帧解码成功回调 public void onMainFirstLocalVideoFrame(int i, int i1, int i2) { } @Override //客户端角色改变回调 public void onClientRoleChanged(int i, int i1) { } @Override //音频流状态改变回调 public void onLocalAudioStateChanged(int i, int i1) { } @Override //远端视频流状态回调 public void onRemoteVideoStats(RemoteVideoStats remoteVideoStats) { } @Override //刷新入会凭证 public void renewToken() { } @Override //第一帧音频解码成功回调 public void onFirstLocalAudioFrame(int i) { } @Override //远端用户第一帧视频解码回调 public void onFirstRemoteVideoDecoded(String s, int i, int i1, int i2) { } @Override //推流发布回调 public void onStreamPublished(String s, int i) { } @Override //Token即将失效回调 public void onTokenPrivilegeWillExpire(String s) { } @Override //远端用户音频状态回调 public void onRemoteAudioStats(RemoteAudioStats remoteAudioStats) { } @Override //远端用户第一帧音频回调 public void onFirstRemoteAudioFrame(String s, int i) { } /** * 当前音频播放方式改变 * * @param mode 0-默认是扬声器 1-耳机 */ @Override public void onAudioPlayModelChanged(int mode) { } @Override //音量调整回调 public void onAudioVolumeIndication(AudioVolumeInfo[] audioVolumeInfos, int i) { } @Override //媒体服务状态回调 public void onRtcStats(RtcStats rtcStats) { } @Override //网络质量回调 public void onNetworkQuality(String s, int i, int i1) { } @Override //监控数据上报回调 public void onMonitorReady(MonitorInfo monitorInfo) { } @Override //媒体服务连接状态改变回调 public void onConnectionStateChanged(int i, int i1) { } @Override //媒体服务连接失败回调 public void onConnectionLost() { } };
3.加入房间。
public void joinChannel(String channelId, final String token, String userId) { if (TextUtils.isEmpty(channelId)) { return; } if (mRtcEngine == null) { VideoSDKLogger.info(tag, "joinChannelWithRtcChannel rtcEngine is null:"); return; } mRtcEngine.joinChannel(channelId,token,"",userId, appId, null); }
4.创建预览视图,在 (onJoinChannelSuccess回调成功后)。
public final void preview(SurfaceView view, String channelId, String userId) { ensureEngineCreated(); if (mRtcEngine != null) { mRtcEngine.setupLocalVideo(view, VideoCanvas.RENDER_MODE_HIDDEN, userId); mRtcEngine.startPreview(channelId); }
5.离开房间。
RtcEngine.leaveChannel();finish();
6.销毁引擎
RTCEngine.onDestroy();
父主题: Android SDK
support.huaweicloud.com/isdp_video/iRTC_007_02-2.html
看了此文的人还看了
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格
推荐文章