Текст для проговаривания кода JavaScript, кнопка загрузки аудио не работает ⇐ Jquery
-
Гость
Текст для проговаривания кода JavaScript, кнопка загрузки аудио не работает
const inputText = document.getElementById("inputText"); const voiceSelect = document.getElementById("voiceSelect"); const voiceButton = document.getElementById("speechButton"); const downloadButton = document.getElementById("downloadButton"); const audioElement = document.getElementById("аудио"); пусть синтезатор = window.speechSynthesis; пусть isSpeaking = ложь; голоса(); функция voices() { const voices = synth.getVoices(); voiceSelect.innerHTML = voices.map(voice => `${voice.name} (${voice.lang})`).join('' ); } Synth.addEventListener("voiceschanged", voices); функция textToSpeech(текст) { если (синтезатор) { синтезатор.отмена(); } const utterance = новый SpeechSynthesisUtterance (текст); const selectedVoice = voiceSelect.value; const voices = synth.getVoices(); const voice = voices.find(voice => voice.name === selectedVoice); если (голос) { utterance.voice = голос; синтезатор.говорить(высказывание); isSpeaking = правда; utterance.onend = () => { isSpeaking = ложь; downloadButton.disabled = ложь; }; } } SpeechButton.addEventListener("click", (e) => { е.preventDefault(); if (inputText.value.trim() !== "") { если (isSpeaking) { синтезатор.пауза(); isSpeaking = ложь; SpeechButton.innerText = "Возобновить речь"; } еще { textToSpeech(inputText.value); SpeechButton.innerText = "Приостановить речь"; } } }); downloadButton.addEventListener("click", (e) => { е.preventDefault(); if (inputText.value.trim() !== "" && !isSpeaking) { const utterance = новый SpeechSynthesisUtterance (inputText.value); const audioBlob = новый Blob([новый Uint8Array(новый Uint16Array(utteranceToAudioBuffer(utterance)).buffer)], { тип: 'аудио/mpeg' }); const audioUrl = URL.createObjectURL(audioBlob); const a = document.createElement("a"); a.href = audioUrl; a.download = "speech.mp3"; a.style.display = "нет"; document.body.appendChild(а); а.клик(); document.body.removeChild(а); URL.revokeObjectURL(audioUrl); } }); функция utteranceToAudioBuffer(высказывание) { const audioContext = новый (window.AudioContext || window.webkitAudioContext)(); const offlineAudioContext = новый OfflineAudioContext(1, 44100 * utterance.duration, 44100); вернуть новое обещание((разрешить, отклонить) => { константный источник = offlineAudioContext.createBufferSource(); source.buffer = offlineAudioContext.createBuffer(1, 44100 * utterance.duration, 44100); source.onended = () => { offlineAudioContext.startRendering().then((audioBuffer) => { const audioData = audioBuffer.getChannelData(0); const audioArray = новый Float32Array (audioData); разрешить (аудиомассив); }); }; source.connect(offlineAudioContext.destination); источник.start(); }); } текст для произнесения кода JavaScript кнопка скачать аудио не работает
я пробую все изменения в этом коде, которые кто-либо предложит
Ваш поиск приложения для преобразования текста в английскую речь заканчивается здесь! Получите реалистичную и убедительную озвучку на английском языке в кратчайшие сроки и бесплатно с помощью нашего онлайн-конвертера текста в речь. Наш онлайн-перевод текста в голосовую речь генерирует реалистичные голоса из любого текста и на многих языках. быстро, легко и бесплатно.
const inputText = document.getElementById("inputText"); const voiceSelect = document.getElementById("voiceSelect"); const voiceButton = document.getElementById("speechButton"); const downloadButton = document.getElementById("downloadButton"); const audioElement = document.getElementById("аудио"); пусть синтезатор = window.speechSynthesis; пусть isSpeaking = ложь; голоса(); функция voices() { const voices = synth.getVoices(); voiceSelect.innerHTML = voices.map(voice => `${voice.name} (${voice.lang})`).join('' ); } Synth.addEventListener("voiceschanged", voices); функция textToSpeech(текст) { если (синтезатор) { синтезатор.отмена(); } const utterance = новый SpeechSynthesisUtterance (текст); const selectedVoice = voiceSelect.value; const voices = synth.getVoices(); const voice = voices.find(voice => voice.name === selectedVoice); если (голос) { utterance.voice = голос; синтезатор.говорить(высказывание); isSpeaking = правда; utterance.onend = () => { isSpeaking = ложь; downloadButton.disabled = ложь; }; } } SpeechButton.addEventListener("click", (e) => { е.preventDefault(); if (inputText.value.trim() !== "") { если (isSpeaking) { синтезатор.пауза(); isSpeaking = ложь; SpeechButton.innerText = "Возобновить речь"; } еще { textToSpeech(inputText.value); SpeechButton.innerText = "Приостановить речь"; } } }); downloadButton.addEventListener("click", (e) => { е.preventDefault(); if (inputText.value.trim() !== "" && !isSpeaking) { const utterance = новый SpeechSynthesisUtterance (inputText.value); const audioBlob = новый Blob([новый Uint8Array(новый Uint16Array(utteranceToAudioBuffer(utterance)).buffer)], { тип: 'аудио/mpeg' }); const audioUrl = URL.createObjectURL(audioBlob); const a = document.createElement("a"); a.href = audioUrl; a.download = "speech.mp3"; a.style.display = "нет"; document.body.appendChild(а); а.клик(); document.body.removeChild(а); URL.revokeObjectURL(audioUrl); } }); функция utteranceToAudioBuffer(высказывание) { const audioContext = новый (window.AudioContext || window.webkitAudioContext)(); const offlineAudioContext = новый OfflineAudioContext(1, 44100 * utterance.duration, 44100); вернуть новое обещание((разрешить, отклонить) => { константный источник = offlineAudioContext.createBufferSource(); source.buffer = offlineAudioContext.createBuffer(1, 44100 * utterance.duration, 44100); source.onended = () => { offlineAudioContext.startRendering().then((audioBuffer) => { const audioData = audioBuffer.getChannelData(0); const audioArray = новый Float32Array (audioData); разрешить (аудиомассив); }); }; source.connect(offlineAudioContext.destination); источник.start(); }); } текст для произнесения кода JavaScript кнопка скачать аудио не работает
я пробую все изменения в этом коде, которые кто-либо предложит
Ваш поиск приложения для преобразования текста в английскую речь заканчивается здесь! Получите реалистичную и убедительную озвучку на английском языке в кратчайшие сроки и бесплатно с помощью нашего онлайн-конвертера текста в речь. Наш онлайн-перевод текста в голосовую речь генерирует реалистичные голоса из любого текста и на многих языках. быстро, легко и бесплатно.
Мобильная версия