У меня есть несколько длинных, хорошо написанных на арабском языке статей с диакритическими знаками.
У меня также есть аудиофайл, на котором женщина четко читает статью.
Я добавила аудио в статью, но мне нужно, когда я играю звук, чтобы выделить произносимый текст.
ПРИМЕЧАНИЕ: у меня нет проблем, если мне понадобится использовать роботизированный звук.
Я пытался использовать API Web Speech, и это сработало, но когда я пытался использовать его на своем телефоне Android, в Chrome, но звук просто читал странные вещи, а иногда это не работало, потому что API не со всем совместим. Я хочу, чтобы он был совместим со всем. Я также пытался использовать библиотеку tts-react, но она не работала на мобильных устройствах.
Это код API веб-речи:
ResponsiveVoice with Highlighting
.highlight {
background-color: yellow;
font-weight: bold;
}
#text {
font-size: 1.2em;
line-height: 1.5;
}
موضوعات الكتاب:
أولا: مراجعة لما سبق في الكتاب الأول (التمهيدي) .
ثانيا الدروس:
1- الدرس الأول: ( هذا – هذه) : الإشارة لكلمات للتفريق بين : المذكر والمؤنث .
2- الدرس الثاني [هنا وهناك] : الإشارة لكلمات للتفريق بين القريب والبعيد.
3- الدرس الثالث [أين ؟] : تمييز الاتجاهات مع التقريب بالصور ( فوق – تحت – أمام – خلف – يمين – يسار – في – على... ) .
4- الدرس الرابع [الأوصاف]: ( كبير صغير – طويل قصير – قليل كثير – قريب بعيد – سريع بطيء – خفيف ثقيل – سمين نحيف ) .
5- الدرس الخامس [الألوان]: ( أحمر – أصفر – أخضر – أزرق ... ) .
Play
const btn = document.getElementById("play");
const highlight = (text, from, to) => {
let replacement = highlightBackground(text.slice(from, to));
return text.substring(0, from) + replacement + text.substring(to);
};
const highlightBackground = sample =>
`${sample}`;
btn && btn.addEventListener('click', () => {
const synth = window.speechSynthesis;
if (!synth) {
console.error('No TTS support.');
return;
}
const text = document.getElementById('text');
const originalText = text.innerText;
// Create a SpeechSynthesisUtterance with Arabic language
let utterance = new SpeechSynthesisUtterance(originalText);
// Set the language to Arabic
utterance.lang = 'ar';
// Optionally, choose an Arabic voice if available
const voices = synth.getVoices();
const arabicVoice = voices.find(voice => voice.lang.startsWith('ar')); // Find Arabic voice
if (arabicVoice) {
utterance.voice = arabicVoice;
}
utterance.addEventListener('boundary', event => {
const { charIndex, charLength } = event;
text.innerHTML = highlight(originalText, charIndex, charIndex + charLength);
});
// Set text direction to RTL for Arabic text
text.style.direction = 'rtl';
synth.speak(utterance);
});
Подробнее здесь: https://stackoverflow.com/questions/793 ... word-in-js
Как выделить произнесенное слово в Js? ⇐ Javascript
Форум по Javascript
1736323942
Anonymous
У меня есть несколько длинных, хорошо написанных на арабском языке статей с диакритическими знаками.
У меня также есть аудиофайл, на котором женщина четко читает статью.
Я добавила аудио в статью, но мне нужно, когда я играю звук, чтобы выделить произносимый текст.
ПРИМЕЧАНИЕ: у меня нет проблем, если мне понадобится использовать роботизированный звук.
Я пытался использовать API Web Speech, и это сработало, но когда я пытался использовать его на своем телефоне Android, в Chrome, но звук просто читал странные вещи, а иногда это не работало, потому что API не со всем совместим. Я хочу, чтобы он был совместим со всем. Я также пытался использовать библиотеку tts-react, но она не работала на мобильных устройствах.
Это код API веб-речи:
ResponsiveVoice with Highlighting
.highlight {
background-color: yellow;
font-weight: bold;
}
#text {
font-size: 1.2em;
line-height: 1.5;
}
موضوعات الكتاب:
أولا: مراجعة لما سبق في الكتاب الأول (التمهيدي) .
ثانيا الدروس:
1- الدرس الأول: ( هذا – هذه) : الإشارة لكلمات للتفريق بين : المذكر والمؤنث .
2- الدرس الثاني [هنا وهناك] : الإشارة لكلمات للتفريق بين القريب والبعيد.
3- الدرس الثالث [أين ؟] : تمييز الاتجاهات مع التقريب بالصور ( فوق – تحت – أمام – خلف – يمين – يسار – في – على... ) .
4- الدرس الرابع [الأوصاف]: ( كبير صغير – طويل قصير – قليل كثير – قريب بعيد – سريع بطيء – خفيف ثقيل – سمين نحيف ) .
5- الدرس الخامس [الألوان]: ( أحمر – أصفر – أخضر – أزرق ... ) .
Play
const btn = document.getElementById("play");
const highlight = (text, from, to) => {
let replacement = highlightBackground(text.slice(from, to));
return text.substring(0, from) + replacement + text.substring(to);
};
const highlightBackground = sample =>
`${sample}`;
btn && btn.addEventListener('click', () => {
const synth = window.speechSynthesis;
if (!synth) {
console.error('No TTS support.');
return;
}
const text = document.getElementById('text');
const originalText = text.innerText;
// Create a SpeechSynthesisUtterance with Arabic language
let utterance = new SpeechSynthesisUtterance(originalText);
// Set the language to Arabic
utterance.lang = 'ar';
// Optionally, choose an Arabic voice if available
const voices = synth.getVoices();
const arabicVoice = voices.find(voice => voice.lang.startsWith('ar')); // Find Arabic voice
if (arabicVoice) {
utterance.voice = arabicVoice;
}
utterance.addEventListener('boundary', event => {
const { charIndex, charLength } = event;
text.innerHTML = highlight(originalText, charIndex, charIndex + charLength);
});
// Set text direction to RTL for Arabic text
text.style.direction = 'rtl';
synth.speak(utterance);
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79338368/how-to-highlight-the-spoken-word-in-js[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия