pywebview如何使用浏览器自带语音识别与webspeech 的api?
网友回复
支持语音识别与tts文字转语音
main.py
<import webview import time class Api: def on_speech_result(self, result): """处理从前端接收的语音识别结果""" print(f"语音识别结果: {result}") # 可以在这里添加后续处理逻辑 return result if __name__ == '__main__': # 创建API实例 api = Api() # 创建窗口 window = webview.create_window( title='带音色选择的语音功能演示', url='index.html', width=900, height=700, resizable=True, js_api=api ) # 启动pywebview webview.start(debug=True)index.html
<!DOCTYPE html> <html> <head> <title>带音色选择的语音功能演示</title> <style> body { font-family: Arial, sans-serif; padding: 20px; max-width: 800px; margin: 0 auto; } .controls { margin: 20px 0; padding: 20px; border: 1px solid #eee; border-radius: 8px; } button { padding: 10px 20px; margin: 5px; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; } button:hover { background: #0056b3; } #result { margin: 20px 0; padding: 10px; border: 1px solid #ccc; min-height: 50px; border-radius: 4px; } .form-group { margin: 15px 0; } select, input[type="text"] { padding: 8px; width: 100%; max-width: 500px; border: 1px solid #ddd; border-radius: 4px; } label { display: block; margin-bottom: 5px; font-weight: bold; } </style> </head> <body> <h1>Web Speech API 演示(带音色选择)</h1> <div class="controls"> <h3>语音识别</h3> <button onclick="startRecognition()">开始语音识别</button> <button onclick="stopRecognition()">停止语音识别</button> <div id="result">识别结果将显示在这里...</div> <h3>语音合成</h3> <div class="form-group"> <label for="voiceSelect">选择音色:</label> <select id="voiceSelect"></select> </div> <div class="form-group"> <label for="textToSpeak">输入要合成的文本:</label> <input type="text" id="textToSpeak" placeholder="请输入文字..." value="你好,这是一个带音色选择的语音合成示例"> </div> <div class="form-group"> <label>语速:</label> <input type="range" id="rate" min="0.5" max="2" step="0.1" value="1"> <span id="rateValue">1</span> </div> <button onclick="speakText(document.getElementById('textToSpeak').value)">开始语音合成</button> <button onclick="cancelSpeech()">取消合成</button> </div> <div id="status" style="margin-top: 20px; color: #666;">状态: 就绪</div> <script> // 语音识别相关变量 let recognition; let isRecognizing = false; ...
点击查看剩余70%