xyhmsdk
XYHMLibs
目录下的文件复制到项目的libs
目录entry
目录执行ohpm install
// entry/oh-package.json5
{
"dependencies": {
"@xylink/xyhmsdk": "file:../XYHMLibs/xyhmsdk.har",
"@xylink/uikit": "file:../XYHMLibs/uikit.har",
"@xylink/base": "file:../XYHMLibs/base.har",
"@xylink/layout": "file:../XYHMLibs/layout.har",
"@xylink/meetingkit": "file:../XYHMLibs/meetingkit.har"
}
}
// entry/src/module.json5
{
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
},
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"
},
{
"name": "ohos.permission.MICROPHONE",
"reason": "$string:app_name",
"usedScene": {
"when": "always"
}
},
{
"name": "ohos.permission.CAMERA",
"reason": "$string:app_name",
"usedScene": {
"when": "always"
}
}
],
"abilities": [
{
"backgroundModes": [
"audioRecording",
"audioPlayback"
]
}
]
}
async initSDK(): Promise<XYSDKError> {
return new Promise((resolve, reject) => {
const xySdkConfig: XYSDKConfig = new XYSDKConfigInfo();
xySdkConfig.cloudServer = this.host;
xySdkConfig.useNativeCamera = false;
xySdkConfig.forceApiGateway = true;
xySdkConfig.clientId = this.clientId;
xySdkConfig.clientSecret = this.clientSecret;
xySdkConfig.eid = this.extId;
xySdkConfig.logFolder = getContext(this).filesDir;
xySdkConfig.appDataDir = getContext(this).filesDir;
const error = XYRTCEngine.getInstance().init(xySdkConfig);
resolve(error);
});
}
/**
* 第三方账号登录
*/
loginExternalAccount(): void {
XYRTCEngine.getInstance().loginExternalAccount(this.userId, this.userName);
}
/**
* 登录状态回调
*/
onLoginStateChanged(loginState: XYSDKLoginState, accountInfo: XYSDKAccountInfo, error: XYSDKError): void {
if (loginState === XYSDKLoginState.LoggedIn) {
// 登录成功处理
} else if (loginState === XYSDKLoginState.LoggingError) {
XYToast.showToast(`登录失败! 错误码 ${error}`);
}
}
/**
* 加入会议
*/
joinMeetingClick() {
const callConfig: XYSDKCallConfig = {
number: this.number,
meetingPwd: this.passWorld,
displayName: "",
liveId: "",
callModel: XYSDKCallMode.AudioVideo,
scheduleEventId: "",
videoMute: this.videoMute,
audioMute: this.audioMute
}
XYRTCEngine.getInstance().addDelegate(this);
XYRTCEngine.getInstance().makeCall(callConfig);
}
/**
* 挂断通话
*/
hangup(): void {
XYRTCEngine.getInstance().hangup();
}
/**
* 关闭SDK
*/
shutdown(): void {
XYRTCEngine.getInstance().shutdown();
}