各位开发者大家好!我很高兴向大家介绍我的最新项目:一个简单但功能强大的文本到语音生成器。该项目是深入研究 JavaScript 功能的绝佳方式,特别是在处理用户输入、与 Web Speech API 交互以及动态更新 DOM 方面。无论您是初学者还是想扩展 JavaScript 知识,这个文本转语音生成器都是一个很棒的项目。
文本到语音生成器是一个基于网络的应用程序,允许用户使用浏览器的语音合成功能将文本转换为口语单词。该项目展示了如何创建交互式且可访问的用户界面,同时通过将文本输入转换为语音来提供实时反馈。
以下是项目结构的快速浏览:
Text-to-Speech-Generator/ ├── index.html ├── styles.css └── script.js
要开始该项目,请按照以下步骤操作:
克隆存储库:
git clone https://github.com/abhishekgurjar-in/Text-to-Speech-Generator.git
打开项目目录:
cd Text-to-Speech-Generator
运行项目:
index.html 文件提供了文本转语音生成器的基本结构,包括用于用户输入的文本区域和触发语音合成的按钮。这是一个片段:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Text to Speech Generator</title> <link rel="stylesheet" href="style.css" /> <script src="script.js" defer></script> </head> <body> <h1 class="title">Text to Speech</h1> <div class="container"> <textarea name="text" class="text" placeholder="Type Text Here..." ></textarea> <div class="buttons"> <button class="speak-btn">Speak Text</button> <button class="stop-btn">Stop</button> </div> </div> <div class="footer"> <p>Made with ❤️ by Abhishek Gurjar</p> </div> </body> </html>
styles.css 文件设置文本转语音生成器的样式,提供干净且用户友好的布局。以下是一些关键样式:
* { margin: 0; padding: 0; box-sizing: border-box; } body { background-color: white; } .title { text-align: center; font-size: 40px; margin: 20px; padding: 10px; } .container { margin: 20px; padding: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; } .text { background-color: rgb(242, 241, 241); color: black; width: 600px; height: 400px; margin: 10px; padding: 5px; border: 1px solid rgba(0, 0, 0, 0.51); display: block; border-radius: 10px; } .buttons { display: flex; } .speak-btn, .stop-btn { width: 200px; height: 40px; margin: 10px; padding: 10px; border: none; color: white; background-color: rgb(63, 63, 255); border-radius: 5px; font-size: 15px; text-align: center; cursor: pointer; } .stop-btn { background-color: rgb(255, 63, 63); } .footer { margin: 50px; text-align: center; }
script.js 文件处理语音合成逻辑,将文本输入转换为语音并管理停止功能。这是一个片段:
document.addEventListener('DOMContentLoaded', function() { const textEl = document.querySelector(".text"); const speakEl = document.querySelector(".speak-btn"); const stopEl = document.querySelector(".stop-btn"); speakEl.addEventListener('click', function() { speakText(textEl.value); }); stopEl.addEventListener('click', function() { stopSpeaking(); }); function speakText(text) { window.speechSynthesis.cancel(); const utterance = new SpeechSynthesisUtterance(text); window.speechSynthesis.speak(utterance); } function stopSpeaking() { window.speechSynthesis.cancel(); } });
您可以在此处查看文本转语音生成器的现场演示。
构建这个文本语音生成器是一次愉快且具有教育意义的体验,它加深了我对 JavaScript 的理解,特别是在使用 Web Speech API 创建交互式 Web 应用程序方面。我希望这个项目能够激励您探索 Web 开发的可能性。快乐编码!
这个项目是我增强 Web 开发技能之旅的一部分,重点关注 JavaScript 和 API 集成。
以上是构建文本转语音网站的详细内容。更多信息请关注PHP中文网其他相关文章!