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,
69 lines (68 loc) • 3.47 kB
JavaScript
;
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
const Vue = require("vue");
const TUIRoomEngine = require("@tencentcloud/tuiroom-engine-js");
const SvgIcon = require("../../common/base/SvgIcon.vue.js");
const SpeakerPhoneIcon = require("../../common/icons/SpeakerPhoneIcon.vue.js");
const EarpieceIcon = require("../../common/icons/EarpieceIcon.vue.js");
const vTap = require("../../../directives/vTap.js");
require("../../common/base/IconButton.vue2.js");
;/* empty css */
require("../../../stores/room.js");
require("pinia");
require("../../../utils/environment.js");
;/* empty css */
require("../../../hooks/useZIndex.js");
require("../../../services/main.js");
require("../../../services/roomService.js");
require("../../../locales/index.js");
require("mitt");
require("../../../services/manager/roomActionManager.js");
require("@tencentcloud/tui-core");
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
const index = require("../../../core/hooks/useAudioDeviceState/index.js");
;/* empty css */
;/* empty css */
require("@tencentcloud/uikit-base-component-vue3");
;/* empty css */
require("../../../stores/basic.js");
;/* empty css */
;/* empty css */
;/* empty css */
require("../../../hooks/useRoomEngine.js");
require("../../../core/hooks/useVideoDeviceState/index.js");
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
;/* empty css */
const _hoisted_1 = { class: "audio-route-icon" };
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
__name: "SwitchAudioRoute",
setup(__props) {
const { currentAudioRoute, speaker } = index.useAudioDeviceState();
const icon = Vue.computed(
() => currentAudioRoute.value === TUIRoomEngine.TUIAudioRoute.kAudioRouteSpeakerphone ? SpeakerPhoneIcon.default : EarpieceIcon.default
);
async function handleSwitchAudioRoute() {
const audioRoute = currentAudioRoute.value === TUIRoomEngine.TUIAudioRoute.kAudioRouteSpeakerphone ? TUIRoomEngine.TUIAudioRoute.kAudioRouteEarpiece : TUIRoomEngine.TUIAudioRoute.kAudioRouteSpeakerphone;
await speaker.setAudioRoute({
route: audioRoute
});
}
return (_ctx, _cache) => {
return Vue.openBlock(), Vue.createElementBlock("div", _hoisted_1, [
Vue.withDirectives(Vue.createVNode(SvgIcon.default, { icon: icon.value }, null, 8, ["icon"]), [
[Vue.unref(vTap.default), handleSwitchAudioRoute]
])
]);
};
}
});
exports.default = _sfc_main;