const StreaminglePlugin = require('./plugin.js'); console.log('=== Streamingle 플러그인 테스트 시작 ==='); const plugin = new StreaminglePlugin(); // 연결 상태 모니터링 let connectionCheckInterval = setInterval(() => { const status = plugin.getStatus(); console.log(`📊 연결 상태: ${status.isConnected ? '✅ 연결됨' : '❌ 연결 안됨'}`); if (status.isConnected) { console.log(`📷 카메라 개수: ${status.cameraCount}개`); console.log(`🎯 현재 카메라: ${status.currentCamera >= 0 ? status.currentCamera : '없음'}`); if (status.cameraList && status.cameraList.length > 0) { console.log('📋 카메라 목록:'); status.cameraList.forEach((camera, index) => { console.log(` ${index}: ${camera.name} ${camera.isActive ? '[활성]' : '[비활성]'}`); }); } } console.log('---'); }, 5000); // 3초 후 카메라 목록 요청 setTimeout(() => { console.log('🔍 카메라 목록 요청...'); plugin.requestCameraList(); }, 3000); // 8초 후 첫 번째 카메라로 전환 setTimeout(() => { console.log('🎬 첫 번째 카메라로 전환...'); plugin.switchCamera(0); }, 8000); // 13초 후 두 번째 카메라로 전환 setTimeout(() => { console.log('🎬 두 번째 카메라로 전환...'); plugin.switchCamera(1); }, 13000); // 18초 후 세 번째 카메라로 전환 (있다면) setTimeout(() => { console.log('🎬 세 번째 카메라로 전환...'); plugin.switchCamera(2); }, 18000); // 25초 후 종료 setTimeout(() => { console.log('🛑 테스트 종료...'); clearInterval(connectionCheckInterval); plugin.disconnect(); process.exit(0); }, 25000); // 프로세스 종료 시 정리 process.on('SIGINT', () => { console.log('🛑 테스트 중단...'); clearInterval(connectionCheckInterval); plugin.disconnect(); process.exit(0); });