注册 登录
编程论坛 VFP论坛

微软Edge TTS语音播报器

iswith 发布于 2025-09-29 09:40, 224 次点击
微软Edge TTS语音播报器
只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录

只有本站会员才能查看附件,请 登录


[此贴子已经被作者于2025-9-29 10:06编辑过]

7 回复
#2
吹水佬2025-09-30 08:11
Web Speech API (window.speechSynthesis),其兼容性与在 Microsoft Edge 浏览器中是一致的。无需在 C# 层面进行复杂的调用,只需要专注于前端 JavaScript 代码的编写即可。这是一种标准、高效且跨平台的解决方案。
只有本站会员才能查看附件,请 登录

程序代码:

<!DOCTYPE html>
<html>
<head>
    <title>WebView2 TTS 示例</title>
</head>
<body>
    <h1>文本转语音测试</h1>
    <input type="text" id="textToSpeak" value="你好,这是来自 WebView2 的语音播报。" />
    <button onclick="speakText()">开始播报</button>
    <button onclick="stopSpeaking()">停止播报</button>

    <script>
        function speakText() {
            // 获取输入框中的文本
            const text = document.getElementById('textToSpeak').value;

            // 创建 SpeechSynthesisUtterance 对象
            const utterance = new SpeechSynthesisUtterance(text);

            // 可选:配置语音参数
            utterance.rate = 1.0; // 语速 (0.1 ~ 10)
            utterance.pitch = 1.0; // 音高 (0 ~ 2)
            utterance.volume = 1.0; // 音量 (0 ~ 1)
            // utterance.lang = 'zh-CN'; // 设置语言,例如中文

            // 获取可用的语音列表并选择(可选)
            const voices = speechSynthesis.getVoices();
            // 例如,找一个中文语音
            const chineseVoice = voices.find(voice => voice.lang.includes('zh'));
            if (chineseVoice) {
                utterance.voice = chineseVoice;
            }

            // 开始播报
            window.speechSynthesis.speak(utterance);

            // 添加事件监听(可选)
            utterance.onend = function(event) {
                console.log('语音播报结束。');
            };
        }

        function stopSpeaking() {
            // 停止播报
            window.speechSynthesis.cancel();
        }

        // 注意:某些浏览器(或环境)可能需要等待语音列表加载完毕
        // 这是一个常见的处理方式
        window.speechSynthesis.onvoiceschanged = function() {
            // 可以在这里初始化语音列表
            console.log("语音列表已加载。");
        };
    </script>
</body>
</html>


#3
hsfisher2025-09-30 08:15
好东东
#4
schtg2025-09-30 09:34
#5
iswith2025-09-30 09:39
无知...
#6
吹水佬2025-09-30 11:24
以下是引用iswith在2025-9-30 09:39:37的发言:

无知...

文明讨论
将事论事,多讨论,少争论。

#7
kangss2025-10-02 18:28
只有本站会员才能查看附件,请 登录


#8
foxfans6 天前 12:02
观察许久,此账号有炫技嫌疑,这类应用对略懂C,C++的来说是小儿科有手就会,更不用提吹版老玩家了,所以无需当宝高高在上说人无知,还是吹版实在,直接。无论是原生还是第三方开源库一抓一大把,假如长期还坚持在用Vfp,可以适当花点时间学习下基础的库封装给vfp调用,自己动手,丰衣足食。
1