纯前端实现语音合成并输出提示

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>语音合成</title>
    <style>
        body {
            max-width: 500px;
            margin: 20px auto;
            padding: 20px;
            font-family: Arial, sans-serif;
        }
        textarea {
            width: 100%;
            height: 100px;
            margin: 10px 0;
            padding: 10px;
        }
        button {
            padding: 8px 16px;
            margin-right: 10px;
            background: #4CAF50;
            color: white;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }
        button:hover {
            background: #45a049;
        }
    </style>
</head>
<body>
    <h2>语音合成</h2>
    <textarea id="text" placeholder="请输入要转换成语音的文字...">这是一个测试语音。</textarea>
    <div>
        <button onclick="speak()">播放</button>
        <button onclick="stop()">停止</button>
    </div>

    <script>
        const synth = window.speechSynthesis;

        function speak() {
            if (synth.speaking) {
                synth.cancel();
            }
            const text = document.getElementById('text').value;
            const utterance = new SpeechSynthesisUtterance(text);
            utterance.lang = 'zh-CN';  // 设置为中文
            synth.speak(utterance);
        }

        function stop() {
            synth.cancel();
        }
    </script>
</body>
</html>

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值