เอกสาร API »
โครงการนี้ถูกสร้างขึ้นเพราะมันเป็นการดิ้นรนเพื่อให้ได้เป็นส่วนหนึ่งของการสังเคราะห์ของ Web Speech API ที่ทำงานบนเบราว์เซอร์ที่สำคัญที่สุด
speechSynthesis ในหลายเบราว์เซอร์EasySpeech.debug hookหมายเหตุ: นี่ไม่ใช่แพ็คเกจ Polyfill หากเบราว์เซอร์เป้าหมายของคุณไม่สนับสนุนการสังเคราะห์คำพูดหรือ API Web Speech API แพ็คเกจนี้ไม่สามารถใช้งานได้
การสาธิตสดมีอยู่ที่ https://leaonline.github.io/easy-speech/ คุณสามารถใช้เพื่อทดสอบเบราว์เซอร์ของคุณสำหรับการสนับสนุนและ speechSynthesis ชั่นการใช้งาน

สารบัญ ที่สร้างขึ้นด้วย Doctoc
ติดตั้งจาก NPM ผ่าน
$ npm install easy-speech นอกจากนี้คุณยังสามารถใช้งานสร้างต่าง ๆ สำหรับเป้าหมายที่แตกต่างกันดูโฟลเดอร์ dist :
/dist/EasySpeech.js - ESM/dist/EasySpeech.cjs.js - Commonjs/dist/EasySpeech.es5.js - โหนดมรดกเข้ากันได้/dist/EasySpeech.iife.js - การสร้างที่เข้ากันได้แบบดั้งเดิมทำงานได้แม้กับเบราว์เซอร์เก่าหรือแปลกใหม่ตราบใดที่พวกเขาสนับสนุนสัญญา (PRS ยินดีต้อนรับสู่การเปลี่ยนการโทรกลับ!)/dist/index.d.ts - คำจำกัดความประเภท typescriptคุณสามารถใช้ผ่าน CDN:
<!-- esm -->
< script type =" module " >
import easySpeech from 'https://cdn.jsdelivr.net/npm/easy-speech/+esm'
</ script > <!-- classic -->
< script src =" https://cdn.jsdelivr.net/npm/easy-speech/dist/EasySpeech.iife.js " > </ script > นำเข้า EasySpeech และก่อนตรวจจับหากเบราว์เซอร์ของคุณมีความสามารถในการ TTS (ข้อความถึงคำพูด):
import EasySpeech from 'easy-speech'
EasySpeech . detect ( )มันส่งคืนวัตถุด้วยข้อมูลต่อไปนี้:
{
speechSynthesis : SpeechSynthesis | undefined ,
speechSynthesisUtterance : SpeechSynthesisUtterance | undefined ,
speechSynthesisVoice : SpeechSynthesisVoice | undefined ,
speechSynthesisEvent : SpeechSynthesisEvent | undefined ,
speechSynthesisErrorEvent : SpeechSynthesisErrorEvent | undefined ,
onvoiceschanged : Boolean ,
onboundary : Boolean ,
onend : Boolean ,
onerror : Boolean ,
onmark : Boolean ,
onpause : Boolean ,
onresume : Boolean ,
onstart : Boolean
} ถ้าอย่างน้อยก็มีการกำหนด SpeechSynthesis และ SpeechSynthesisUtterance คุณก็จะไปได้ดี
การเตรียมทุกอย่างในการทำงานนั้นไม่ชัดเจนเท่าที่ควรโดยเฉพาะอย่างยิ่งเมื่อกำหนดเป้าหมายการทำงานข้ามเบราว์เซอร์ ฟังก์ชั่น init แบบอะซิงโครนัสจะช่วยคุณในสถานการณ์นี้:
EasySpeech . init ( { maxTimeout : 5000 , interval : 250 } )
. then ( ( ) => console . debug ( 'load complete' ) )
. catch ( e => console . error ( e ) ) init-routine จะผ่านหลายขั้นตอนเพื่อตั้งค่าสภาพแวดล้อม:
onvoiceschanged พร้อมใช้งาน: ใช้ onvoiceschangedonvoiceschanged ได้: ทางเลือกกลับไปหมดเวลาonvoiceschanged ถูกไล่ออก แต่ไม่มีเสียง: ทางเลือกกลับไปหมดเวลาinterval ที่กำหนดจนกว่าจะถึง maxTimeoutหากการกำหนดเส้นทางเริ่มต้นของคุณยังไม่ได้ตรวจพบ / โหลดเสียงใด ๆ ที่รองรับคำพูดทั้งหมดได้รับการสนับสนุนโปรดปล่อยให้ปัญหา!
หากพบเสียงมันจะส่งเสียงทางเสียตามกฎต่อไปนี้:
default ที่ตั้งค่าเป็นจริงใช้สิ่งนี้เป็นเสียงทางเสียnavigator.language ปัจจุบัน Language หมายเหตุ: เสียงทางเสียนี้ไม่ได้ถูกแทนที่ด้วย EasySpeech.defaults() EasySpeech.speak() เริ่มต้นของคุณจะถูกนำมาใช้ในความโปรด
นี่เป็นเรื่องง่ายอย่างที่ได้รับ:
await EasySpeech . speak ( {
text : 'Hello, world!' ,
voice : myLangVoice , // optional, will use a default or fallback
pitch : 1 ,
rate : 1 ,
volume : 1 ,
// there are more events, see the API for supported events
boundary : e => console . debug ( 'boundary reached' )
} ) สัญญาจะแก้ไขโดยอัตโนมัติเมื่อการพูดสิ้นสุดลงหรือปฏิเสธเมื่อเกิดข้อผิดพลาด คุณสามารถแนบผู้ฟังเหตุการณ์เหล่านี้ได้หากคุณต้องการหรือใช้ EasySpeech.on เพื่อแนบผู้ฟังเริ่มต้นทุกครั้งที่คุณเรียก EasySpeech.speak
มีส่วนคำถามที่พบบ่อยของตัวเองที่มีจุดมุ่งหมายเพื่อช่วยเหลือในประเด็นทั่วไป
มีเอกสาร API เต็มรูปแบบ: API เอกสาร
ยินดีต้อนรับทุกการบริจาคโปรดเปิดปัญหาหากสิ่งใดไม่ทำงานตามที่คาดไว้
หากคุณตั้งใจจะสนับสนุนรหัสโปรดอ่านแนวทางเกี่ยวกับการมีส่วนร่วม
โครงการนี้ใช้ทรัพยากรหลายอย่างเพื่อให้ได้ข้อมูลเชิงลึกเกี่ยวกับวิธีการใช้คำปราศรัยข้ามเบราว์เซอร์ที่ดีที่สุด:
MIT, ดูไฟล์ใบอนุญาต