| 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>
 |