1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Video Feed</title>
<style>
body {
font-family: Arial, sans-serif;
}
#video {
width: 640px;
height: 480px;
border: 1px solid #000;
}
.button-container {
margin-top: 20px;
}
button {
border: none;
background: transparent;
}
button img {
width: 100px; /* Ajustez la taille selon vos besoins */
height: 50px; /* Ajustez la taille selon vos besoins */
touch-action: none;
}
button:focus {
outline: none; /* Évitez les bordures de focus par défaut */
}
</style>
</head>
<body oncontextmenu="return false;">
<h1>Video Feed</h1>
<img id="video" src="{{ url_for('video_feed') }}" alt="Video Feed">
<div class="button-container">
<button id="advance-button">
<img src="static/advance.png" alt="Avancer">
</button>
<button id="reverse-button">
<img src="static/reverse.png" alt="Reculer">
</button>
<button id="right-button">
<img src="static/right.png" alt="Droite">
</button>
<button id="left-button">
<img src="static/left.png" alt="Gauche">
</button>
<button id="home-button">
<img src="static/home.png" alt="Retour Home">
</button>
</div>
<script>
let intervalId;
function sendAction(action) {
fetch('/action', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ action: action })
})
.then(response => response.json())
.then(data => {
console.log(data.message);
})
.catch(error => console.error('Error:', error));
}
function startAction(action) {
intervalId = setInterval(() => sendAction(action), 100);
}
function stopAction() {
clearInterval(intervalId);
}
document.getElementById('advance-button').addEventListener('mousedown', () => startAction('advance'));
document.getElementById('reverse-button').addEventListener('mousedown', () => startAction('reverse'));
document.getElementById('right-button').addEventListener('mousedown', () => startAction('right'));
document.getElementById('left-button').addEventListener('mousedown', () => startAction('left'));
document.getElementById('home-button').addEventListener('click', () => sendAction('home'));
document.getElementById('advance-button').addEventListener('mouseup', stopAction);
document.getElementById('reverse-button').addEventListener('mouseup', stopAction);
document.getElementById('right-button').addEventListener('mouseup', stopAction);
document.getElementById('left-button').addEventListener('mouseup', stopAction);
document.getElementById('advance-button').addEventListener('mouseleave', stopAction);
document.getElementById('reverse-button').addEventListener('mouseleave', stopAction);
document.getElementById('right-button').addEventListener('mouseleave', stopAction);
document.getElementById('left-button').addEventListener('mouseleave', stopAction);
</script>
</body>
</html> |
Partager