UNPKG

@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,

59 lines (58 loc) 2.51 kB
"use strict"; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } }); const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js"); const Room = require("../../../type/Room.js"); const index = require("../../../../locales/index.js"); const room = require("../../../../stores/room.js"); const index$1 = require("../../../../components/common/base/MessageBox/index.js"); const uikitBaseComponentVue3 = require("@tencentcloud/uikit-base-component-vue3"); const useRoomEngine = require("../../../../hooks/useRoomEngine.js"); const message = require("../../../../constants/message.js"); const Vue = require("vue"); function useRoomAudioAction() { const { t } = index.useI18n(); const roomStore = room.useRoomStore(); const roomEngine = useRoomEngine.default(); let stateForAllAudio = false; function toggleRoomAudio() { stateForAllAudio = !roomStore.isMicrophoneDisableForAllUser; index$1.default({ title: roomStore.isMicrophoneDisableForAllUser ? t("Enable all audios") : t("All current and new members will be muted"), message: roomStore.isMicrophoneDisableForAllUser ? t("After unlocking, users can freely turn on the microphone") : t("Members will not be able to open the microphone"), confirmButtonText: t("Confirm"), cancelButtonText: t("Cancel"), callback: async (action) => { if (action === "confirm") { doToggleRoomAudio(); } } }); } async function doToggleRoomAudio() { var _a; if (roomStore.isMicrophoneDisableForAllUser === stateForAllAudio) { const tipMessage = stateForAllAudio ? t("All audios disabled") : t("All audios enabled"); uikitBaseComponentVue3.TUIToast({ type: uikitBaseComponentVue3.TOAST_TYPE.SUCCESS, message: tipMessage, duration: message.MESSAGE_DURATION.NORMAL }); return; } await ((_a = roomEngine.instance) == null ? void 0 : _a.disableDeviceForAllUserByAdmin({ isDisable: stateForAllAudio, device: TUIRoomEngine.TUIMediaDevice.kMicrophone })); roomStore.setDisableMicrophoneForAllUserByAdmin(stateForAllAudio); } const roomAudioAction = Vue.reactive({ key: Room.RoomAction.AudioAction, icon: Vue.defineComponent({}), label: Vue.computed( () => roomStore.isMicrophoneDisableForAllUser ? t("Lift all mute") : t("All mute") ), handler: toggleRoomAudio }); return roomAudioAction; } exports.default = useRoomAudioAction;