📁 Folder Navigator
Position:
Root
/
faith
/
vpnp1
/
network
/
clients
/
studio
Create
Folders
📁 socialmedia
Rename
Copy
Delete
📁 uploads
Rename
Copy
Delete
Files
📄 record.html
📄 script.js
📄 upload.php
📝 File Editor
Editing:
script.js
// Get HTML elements const webcamVideo = document.getElementById('webcamVideo'); const startButton = document.getElementById('startButton'); const recordButton = document.getElementById('recordButton'); const stopButton = document.getElementById('stopButton'); const videoNameInput = document.getElementById('videoNameInput'); const uploadStatus = document.getElementById('uploadStatus'); let mediaRecorder; let recordedChunks = []; startButton.addEventListener('click', async () => { try { // Request access to camera and microphone const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true }); webcamVideo.srcObject = stream; recordButton.disabled = false; startButton.disabled = true; } catch (err) { console.error('Error accessing media devices:', err); alert('Could not access camera/mic. Please ensure permissions are granted.'); } }); recordButton.addEventListener('click', () => { recordedChunks = []; // Use MediaRecorder API mediaRecorder = new MediaRecorder(webcamVideo.srcObject, { mimeType: 'video/webm' }); mediaRecorder.ondataavailable = (event) => { if (event.data.size > 0) { recordedChunks.push(event.data); } }; mediaRecorder.onstop = () => { const blob = new Blob(recordedChunks, { type: 'video/webm' }); uploadVideo(blob); }; mediaRecorder.start(); recordButton.disabled = true; stopButton.disabled = false; uploadStatus.textContent = 'Recording started...'; }); stopButton.addEventListener('click', () => { mediaRecorder.stop(); recordButton.disabled = false; stopButton.disabled = true; uploadStatus.textContent = 'Recording stopped. Uploading...'; }); function uploadVideo(videoBlob) { const formData = new FormData(); // Get the user specified name, default to a timestamp if empty const videoName = videoNameInput.value.trim() || `video_${Date.now()}`; // Append the video file with the correct name/extension formData.append('video-file', videoBlob, `${videoName}.webm`); // Send to PHP server fetch('upload.php', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => { uploadStatus.textContent = data.message; // Reload video list after successful upload (implement this part in load-videos.php) // For now, we can just suggest refreshing the page. if (data.status === 'success') { window.location.reload(); // Simple reload to refresh the video gallery } }) .catch(error => { console.error('Error uploading video:', error); uploadStatus.textContent = 'Upload failed.'; }); }
💾 Save Changes