Advertisement
solielios

מצלמה

Dec 18th, 2024
17
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let isCameraActive = false; // משתנה לבדוק אם המצלמה פעילה
  2. let stream; // משתנה לשמור את הפיד מהמצלמה
  3.  
  4. async function toggleCamera() {
  5.     const videoElement = document.getElementById('camera-stream'); // מקבל את אלמנט הווידאו
  6.  
  7.     if (isCameraActive) { // אם המצלמה פעילה
  8.         stream.getTracks().forEach(track => track.stop()); // עוצר את כל ה-tracks מהמצלמה
  9.         videoElement.srcObject = null; // מכבה את הפיד מהמצלמה
  10.         isCameraActive = false; // מעדכן את המצב למצלמה לא פעילה
  11.     } else { // אם המצלמה לא פעילה
  12.         try {
  13.             stream = await navigator.mediaDevices.getUserMedia({ video: true }); // מבקש גישה למצלמה
  14.             videoElement.srcObject = stream; // מציב את הפיד מהמצלמה בתוך הווידאו
  15.             isCameraActive = true; // מעדכן את המצב למצלמה פעילה
  16.         } catch (error) {
  17.             console.error('שגיאה בגישה למצלמה:', error); // מדפיס שגיאה אם לא מצליח לקבל גישה
  18.             alert('לא ניתן להפעיל את המצלמה. ודא שאישרת גישה למצלמה.'); // מציג הודעת שגיאה
  19.         }
  20.     }
  21. }
  22.  
  23. function toggleMirrorEffect() { // פונקציה להפעלת או כיבוי אפקט המראה
  24.     const videoElement = document.getElementById('camera-stream'); // מקבל את אלמנט הווידאו
  25.     if (videoElement.style.transform === 'scaleX(-1)') { // אם אפקט המראה מופעל
  26.         videoElement.style.transform = 'scaleX(1)'; // מבטל את האפקט
  27.     } else { // אם האפקט לא מופעל
  28.         videoElement.style.transform = 'scaleX(-1)'; // מפעיל את האפקט
  29.     }
  30. }
  31.  
  32. document.addEventListener('DOMContentLoaded', () => { // כאשר הדף נטען
  33.     document.getElementById('camera-toggle').addEventListener('click', toggleCamera); // מוסיף מאזין לאירוע ללחיצה על כפתור המצלמה
  34.     document.getElementById('mirror-toggle').addEventListener('click', toggleMirrorEffect); // מוסיף מאזין לאירוע ללחיצה על כפתור המראה
  35. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement