65 lines
1.9 KiB
JavaScript

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);
});