Vue는 텍스트 음성 변환 방법을 구현합니다. 1. SpeechSynesisUtterance 객체를 생성합니다. 2. "isIe(){...}"를 통해 브라우저 판단을 구현합니다. 3. "if( this.isIe()){let voiceObj = new ActiveXObject("Sapi.SpVoice")voiceObj.Rate = ...)".
이 튜토리얼의 운영 환경: windows7 시스템, vue3, Dell G3 컴퓨터.
vue는 텍스트 음성 변환을 어떻게 구현하나요?
vue에서 구현한 텍스트 음성 변환 기능에 대한 자세한 설명
현재 h5에 텍스트 음성 변환 기능이 추가되었지만(개선 중이어서 거의 사용할 수 없음) h5에 새로운 SpeechSynesisUtterance 인스턴스가 추가되었습니다
먼저, 새로운 SpeechSynesisUtterance 개체를 만듭니다
사용 예 다음을 포함한 개체의 일부 속성
text – 합성할 텍스트 콘텐츠, 문자열.
lang - 사용된 언어, 문자열(예: "zh-cn")
voiceURI - 사용하려는 음성 및 서비스를 지정합니다(문자열).
volume - 소리의 볼륨, 범위는 0~1, 기본값은 1입니다.
rate - 말하기 속도, 숫자 값, 기본값은 1, 범위는 0.1~10이며 말하기 속도의 배수를 나타냅니다. 예를 들어 2는 일반 말하기 속도의 두 배를 나타냅니다.
pitch – 음성의 높이를 나타내며 0(최소)부터 2(최대)까지의 숫자 값을 나타냅니다. 기본값은 1입니다.
메서드
speak() 해당 인스턴스를 음성 대기열에 추가
cancel() 대기열의 모든 음성을 삭제하고, 재생 중인 경우 직접 중지합니다.
pause( ) 음성 일시 중지
resume() 일시 중지된 음성 재개
getVoices 지원되는 언어 배열을 가져옵니다. 참고: 적용하려면 voiceschanged 이벤트에 추가해야 합니다
그러나 이 방법은 이전 버전의 IE에는 필요합니다. 브라우저 판단 방법
isIe(){ if(!!window.ActiveXObject || "ActiveXObject " in window){ return true }else{ return false } },
을 추가한 다음 IE 사용 방법
voice(e){ window.speechSynthesis.cancel() let timer timer = setInterval(() => { let msg = e if(this.isIe()){ let voiceObj = new ActiveXObject("Sapi.SpVoice") voiceObj.Rate = -1 // 语速 voiceObj.Volume = 50 // 音量 voiceObj.Speak(msg,1) }else{ let speakMsg = new SpeechSynthesisUtterance(msg) speakMsg.rate = 1 // 语速 speakMsg.pitch = 3 // 音量 window.speechSynthesis.speak(speakMsg) } }, 1000) setTimeout(() => { // 一段时间后清除定时器 clearInterval(timer) }, 1000) },
에 따라 권장 학습: "vue.js video tutorial"
위 내용은 Vue에서 텍스트 음성 변환을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!