This is an old revision of the document!
<!DOCTYPE html> <html lang=“en”> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>Talking Tom Clone</title>
<style>
body {
font-family: Arial, sans-serif;
text-align: center;
background: #f0f0f0;
padding: 40px;
}
Advertisement
img {
width: 300px;
border-radius: 20px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
}
button {
margin-top: 20px;
padding: 15px 30px;
font-size: 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 10px;
cursor: pointer;
transition: background 0.3s;
}
button:hover {
background-color: #45a049;
}
#status {
margin-top: 15px;
font-weight: bold;
}
</style>
Advertisement
</head> <body>
<h1>Talking Tom Clone</h1> <img src="https://freeimage.host/images/2024/05/15/3rFyMyF.png" alt="Talking Tom" /> <br> <button id="toggleButton">Play</button> <div id="status">Press play to start listening</div>
<script>
const button = document.getElementById("toggleButton");
const statusText = document.getElementById("status");
let listening = false;
let recognition;
if ("webkitSpeechRecognition" in window) {
recognition = new webkitSpeechRecognition();
recognition.continuous = false;
recognition.lang = "en-US";
recognition.interimResults = false;
recognition.onstart = () => {
statusText.textContent = "Listening...";
};
recognition.onresult = (event) => {
const transcript = event.results[0][0].transcript;
speak(transcript);
};
recognition.onerror = (event) => {
console.error("Speech recognition error:", event.error);
statusText.textContent = "Error occurred: " + event.error;
};
recognition.onend = () => {
if (listening) {
recognition.start(); // auto-restart
}
};
} else {
alert("Speech recognition not supported in this browser.");
}
Advertisement
function speak(text) {
const utterance = new SpeechSynthesisUtterance(text);
speechSynthesis.speak(utterance);
statusText.textContent = "Repeating: " + text;
}
button.onclick = () => {
if (!listening) {
recognition.start();
listening = true;
button.textContent = "Stop";
} else {
recognition.stop();
listening = false;
button.textContent = "Play";
statusText.textContent = "Stopped listening";
}
};
</script>
</body> </html>