@tencentcloud/roomkit-web-vue3
Version:
<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,
64 lines (63 loc) • 2.83 kB
JavaScript
import { defineComponent, onMounted, onUnmounted, createElementBlock, openBlock, createElementVNode, createCommentVNode, createBlock, unref, toDisplayString } from "vue";
import { IconLoading } from "@tencentcloud/uikit-base-component-vue3";
import "../../hooks/useAudioDeviceState/index.mjs";
import { useVideoDeviceState } from "../../hooks/useVideoDeviceState/index.mjs";
import TUIRoomEngine__default from "@tencentcloud/tuiroom-engine-js";
import "../../../stores/room.mjs";
import "../../hooks/useUserState/useUserActions/useAudioAction.mjs";
import "../../hooks/useUserState/useUserActions/useChatAction.mjs";
import "../../hooks/useUserState/useUserActions/useVideoAction.mjs";
import "../../hooks/useUserState/useUserActions/useTransferOwnerAction.mjs";
import "../../hooks/useUserState/useUserActions/useChangeNameCardAction/index.mjs";
import "../../hooks/useUserState/useUserActions/useKickUserAction.mjs";
import "../../hooks/useUserState/useUserActions/useSeatAction.mjs";
import "../../hooks/useUserState/useUserActions/useAdminAction.mjs";
import "pinia";
import "../../store/room.mjs";
import "../../../hooks/useRoomEngine.mjs";
import "../../../utils/environment.mjs";
import "../../manager/userEventManger.mjs";
import { useI18n } from "../../../locales/index.mjs";
import "../../../hooks/useZIndex.mjs";
/* empty css */
import "../../hooks/useFreeBeautyState/index.mjs";
const _hoisted_1 = { class: "video-preview-container" };
const _hoisted_2 = { class: "attention-info" };
const _hoisted_3 = {
key: 0,
class: "off-camera-info"
};
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "VideoPreview",
setup(__props) {
const { t } = useI18n();
const { isCameraTesting, isCameraTestLoading, camera } = useVideoDeviceState();
onMounted(async () => {
TUIRoomEngine__default.once("ready", () => {
camera.startCameraDeviceTest({ view: "video-preview" });
});
});
onUnmounted(async () => {
await camera.stopCameraDeviceTest();
});
return (_ctx, _cache) => {
return openBlock(), createElementBlock("div", _hoisted_1, [
_cache[0] || (_cache[0] = createElementVNode("div", {
id: "video-preview",
class: "video-preview"
}, null, -1)),
createElementVNode("div", _hoisted_2, [
!unref(isCameraTesting) && !unref(isCameraTestLoading) ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(unref(t)("Off Camera")), 1)) : createCommentVNode("", true),
unref(isCameraTestLoading) ? (openBlock(), createBlock(unref(IconLoading), {
key: 1,
size: "36",
class: "loading"
})) : createCommentVNode("", true)
])
]);
};
}
});
export {
_sfc_main as default
};