123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- <template>
- <div>
- <el-page-header @back="goBack" content="语音转文字"/>
- <div class="bank"></div>
- <el-card header="语音转文字">
- <el-card>
- <el-input :readonly="true" id="word" v-model="word"></el-input>
- </el-card>
- <el-card>
- <el-button type="primary" @click="audioCHangeWord"><span v-if="isListening">语音识别中...</span><span v-else>语音识别</span></el-button>
- </el-card>
- </el-card>
- </div>
- </template>
- <script>
- export default {
- name: "AudioToWord",
- data() {
- return {
- word: "",
- isListening: false, // 判断是否在语音监听中
- }
- },
- methods: {
- audioCHangeWord() {
- var that = this;
- that.word = "";
- // 创建SpeechRecognition对象
- // eslint-disable-next-line no-undef
- var recognition = new webkitSpeechRecognition();
- console.log("recognition1", recognition);
- if (!recognition) {
- // eslint-disable-next-line no-undef
- recognition = new SpeechRecognition();
- }
- console.log("recognition2", recognition);
- console.log(11);
- // 设置语言
- recognition.lang = 'zh-CN';
- console.log(22);
- // 开始语音识别
- recognition.start();
- that.isListening = true;
- console.log(33);
- // 监听识别结果
- recognition.onresult = function (event) {
- var result = event.results[0][0].transcript;
- console.log("监听结果:", result);
- that.word = result;
- };
- // 监听错误事件
- recognition.onerror = function (event) {
- that.isListening = false;
- that.$message("监听语音失败:"+event.error);
- console.error(event.error);
- };
- // 监听结束事件(包括识别成功、识别错误和用户停止)
- recognition.onend = function () {
- that.isListening = false;
- console.log("语音识别停止");
- };
- },
- goBack() {
- this.$router.push({ path: "/entry" })
- }
- }
- }
- </script>
- <style>
- </style>
|