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,
34 lines (31 loc) • 1.24 kB
text/typescript
import TUIRoomEngine, {
TUIRoomDeviceMangerEvents,
} from '@tencentcloud/tuiroom-engine-js';
import useVideoDeviceManagerState from './videoDeviceManagerState';
import useVideoDeviceManager from './videoDeviceManager';
import { initMediaDeviceList, onDeviceChanged } from './videoDeviceListHandler';
import useDeviceManager from '../../../hooks/useDeviceManager';
export { MediaDeviceState } from '../../type';
const deviceManager = useDeviceManager();
const { localVideoQuality, isLocalMirror } = useVideoDeviceManagerState();
const { camera } = useVideoDeviceManager();
TUIRoomEngine.once('ready', () => {
deviceManager.instance?.on(
TUIRoomDeviceMangerEvents.onDeviceChanged,
onDeviceChanged
);
initMediaDeviceList();
// Set the default videoQuality
camera.updateVideoQuality({ quality: localVideoQuality.value });
// Setting the default mirror
camera.switchMirror({ mirror: isLocalMirror.value });
});
export function useVideoDeviceState() {
const videoDeviceManagerState = useVideoDeviceManagerState();
const videoDeviceManager = useVideoDeviceManager();
return {
...videoDeviceManagerState,
...videoDeviceManager,
};
}
export default useVideoDeviceState;