تتيح واجهة speechSynthesis ضمن Web Speech API لتطبيقات الويب توليد مخرجات صوتية اصطناعية وتلاوة النصوص برمجياً.
توليد الكلام الأساسي
const msg = new SpeechSynthesisUtterance('مرحباً بالعالم!');
window.speechSynthesis.speak(msg);
تخصيص خصائص الصوت والأحداث
const msg = new SpeechSynthesisUtterance('أهلاً بكم في تطبيقنا');
msg.rate = 1.0; // سرعة الكلام: من 0.1 إلى 10 (الافتراضي 1)
msg.pitch = 1.2; // طبقة الصوت: من 0 إلى 2 (الافتراضي 1)
msg.volume = 1.0; // مستوى الصوت: من 0 إلى 1 (الافتراضي 1)
msg.lang = 'en-US';
// مستمعو الأحداث
msg.onstart = () => console.log('بدأ تشغيل الصوت');
msg.onend = () => console.log('انتهى تشغيل الصوت');
msg.onerror = (e) => console.error('خطأ في تشغيل الصوت:', e);
window.speechSynthesis.speak(msg);
اختيار الأصوات المثبتة في المتصفح
window.speechSynthesis.onvoiceschanged = () => {
const voices = window.speechSynthesis.getVoices();
const selectedVoice = voices.find(v => v.lang === 'en-US' && v.name.includes('Google'));
if (selectedVoice) {
msg.voice = selectedVoice;
}
};
التحكم في التشغيل وإيقافه
window.speechSynthesis.pause(); // إيقاف تشغيل الصوت مؤقتاً
window.speechSynthesis.resume(); // استئناف تشغيل الصوت المتوقف مؤقتاً
window.speechSynthesis.cancel(); // إلغاء التشغيل ومسح قائمة انتظار التلاوة