อ่าน 6 นาที
ไฟล์เสียง HTML
HTML audio เป็นหัวข้อหนึ่งในข้อกำหนดของ HTML ซึ่งรวมถึงการใช้งานเสียง รวมถึงการแปลงเสียงเป็นข้อความ ทั้งหมดนี้ทำได้ภายในเบราว์เซอร์
ไฟล์เสียง HTML
| เอชแอล |
|---|
| HTML และรูปแบบต่างๆ |
| องค์ประกอบและแอตทริบิวต์ของ HTML |
| การแก้ไข |
| การเข้ารหัสอักขระและภาษา |
| แบบจำลองเอกสารและเบราว์เซอร์ |
| การเขียนสคริปต์ฝั่งไคลเอ็นต์และ API |
| เทคโนโลยีด้านกราฟิกและเว็บ 3 มิติ |
| การเปรียบเทียบ |
HTML audioเป็นหัวข้อหนึ่งในข้อกำหนดของ HTML ซึ่งรวมถึงการใช้งานเสียง รวมถึงการแปลงเสียงเป็นข้อความ ทั้งหมดนี้ทำได้ภายในเบราว์เซอร์
องค์ประกอบ <เสียง>
องค์ประกอบ นี้<audio>แสดงถึงเสียงหรือกระแสเสียง โดยทั่วไปจะใช้ในการเล่นไฟล์เสียงไฟล์เดียวภายในหน้าเว็บ โดยแสดงวิดเจ็ต GUI ที่มีปุ่มควบคุมการเล่น/หยุดชั่วคราว/ปรับระดับเสียง
องค์ประกอบ นี้<audio>มีคุณสมบัติดังต่อไปนี้: ดนตรี
- คุณลักษณะทั่วโลก (accesskey; class; contenteditable; contextmenu; dir; draggable; dropzone; hidden; id; lang; spellcheck; style; tabindex; title; translate)
- autoplay = "autoplay" หรือ "" (สตริงว่าง) หรือว่างเปล่าคำสั่งนี้สั่งให้ User-Agent เริ่มเล่นสตรีมเสียงโดยอัตโนมัติทันทีที่สามารถทำได้โดยไม่หยุด
- preload = "none" หรือ "metadata" หรือ "auto" หรือ "" (สตริงว่าง) หรือว่างเปล่า แสดงถึงคำแนะนำสำหรับ User-Agent ว่าการดาวน์โหลดสตรีมเสียงหรือเมตาเดตาแบบมองโลกในแง่ดีนั้นคุ้มค่าหรือไม่
- "none": คำแนะนำสำหรับ User-Agent ว่าผู้ใช้ไม่น่าจะต้องการสตรีมเสียง หรือการลดปริมาณการรับส่งข้อมูลที่ไม่จำเป็นเป็นสิ่งที่พึงปรารถนา
- "เมตาเดตา": คำแนะนำสำหรับ User-Agent ว่าผู้ใช้ไม่จำเป็นต้องใช้สตรีมเสียง แต่การดึงเมตาเดตา (ระยะเวลา เป็นต้น) นั้นเป็นสิ่งที่พึงประสงค์
- "อัตโนมัติ": คำแนะนำสำหรับ User-Agent ว่าการดาวน์โหลดสตรีมเสียงทั้งหมดโดยอัตโนมัติถือเป็นสิ่งที่พึงประสงค์
- controls = "controls" หรือ "" (สตริงว่าง) หรือว่างเปล่า คำสั่งนี้สั่งให้ User-Agent แสดงส่วนติดต่อผู้ใช้สำหรับการควบคุมการเล่นสตรีมเสียง
- loop = "loop" หรือ "" (สตริงว่าง) หรือ empty คำสั่งนี้สั่งให้ User-Agent ย้อนกลับไปยังจุดเริ่มต้นของสตรีมเสียงเมื่อถึงจุดสิ้นสุด
- mediagroup = string คำสั่งนี้สั่งให้ User-Agent เชื่อมโยงวิดีโอและ/หรือสตรีมเสียงหลายรายการเข้าด้วยกัน
- muted = "muted" หรือ "" (สตริงว่าง) หรือว่างเปล่าแสดงถึงสถานะเริ่มต้นของสตรีมเสียง ซึ่งอาจแทนที่การตั้งค่าของผู้ใช้
- src = [URL] ที่ไม่ว่างเปล่า อาจมีช่องว่างล้อมรอบURL สำหรับสตรีมเสียง
ตัวอย่าง: [ 1 ]
< การควบคุมเสียง> < source src = "https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.mp4" type = " audio/mp4" /> < source src = "https://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga" type = "audio / ogg; codecs=vorbis" /> <p> โปรแกรม เว็บเบ ราว์ เซอร์ของ คุณไม่รองรับองค์ประกอบเสียง HTML5 </p> </audio>เบราว์เซอร์ที่รองรับ
บนพีซี:
- กูเกิล โครม
- อินเทอร์เน็ต เอ็กซ์พลอเรอร์ 9
- Firefox 3.5
- โอเปร่า 10.5
- ซาฟารี 3.1
บนอุปกรณ์มือถือ:
- เบราว์เซอร์ Android 2.3
- กูเกิล โครม
- อินเทอร์เน็ต เอ็กซ์พลอเรอร์ มือถือ 9
- ซาฟารี 4
- เอฟเวอร์
- โอเปอเร โมบายล์ 11
รูปแบบการเข้ารหัสเสียงที่รองรับ
เช่นเดียวกับการใช้งาน วิดีโอ HTMLการนำ HTML มาใช้ได้ กลายเป็นประเด็นถกเถียงระหว่างผู้สนับสนุน รูปแบบ เสรีและ ผู้สนับสนุนรูปแบบ ที่ติดสิทธิบัตร ในปี 2550 W3Cได้ ถอน คำแนะนำให้ใช้Vorbis ออกจากข้อกำหนดHTML5พร้อมกับคำแนะนำให้ใช้Ogg Theoraโดยอ้างว่าไม่มีรูปแบบที่ได้รับการยอมรับจากผู้ผลิตเบราว์เซอร์รายใหญ่ทั้งหมด
AppleและMicrosoftรองรับรูปแบบไฟล์เสียง AAC ที่กำหนดโดยISO / IECและMP3ซึ่ง เป็นรูปแบบเก่ากว่า MozillaและOperaรองรับ รูปแบบไฟล์ เสียง Vorbis ซึ่งเป็นรูปแบบโอเพน ซอร์สและไม่มีค่าลิขสิทธิ์ใน คอนเทนเนอร์ OggและWebMและวิพากษ์วิจารณ์ลักษณะที่ถูกจำกัดด้วยสิทธิบัตรของ MP3 และ AAC ซึ่งรับประกันได้ว่าเป็น "ไม่ใช่โอเพนซอร์ส" ส่วนGoogle นั้นรองรับรูปแบบไฟล์เสียงทั่วไปทั้งหมดแล้วในขณะนี้
ไฟล์ AAC ส่วนใหญ่ที่มีความยาวจำกัดจะถูกห่อหุ้มด้วยคอนเทนเนอร์ MPEG-4 (.mp4, .m4a) ซึ่งรองรับโดยตรงใน Internet Explorer, Safari และ Chrome และรองรับโดยระบบปฏิบัติการใน Firefox และ Opera สตรีมสด AAC ส่วนใหญ่ที่มีความยาวไม่จำกัดจะถูกห่อหุ้มด้วยคอนเทนเนอร์ Audio Data Transport Stream (.aac, .adts) ซึ่งรองรับโดย Chrome, Safari, Firefox และ Edge [ 2 ] [ 3 ] [ 4 ]
เบราว์เซอร์หลายตัวยังรองรับ เสียง PCM ที่ไม่มีการบีบอัด ใน คอนเทนเนอร์ WAV E อีกด้วย [ 5 ]
ในปี 2012 รูปแบบ Opus ที่เป็นอิสระและเปิดกว้างโดยไม่เสียค่าลิขสิทธิ์ ได้รับการเผยแพร่และกำหนดมาตรฐานโดยIETFซึ่งได้รับการสนับสนุนโดย Mozilla, Google, Opera และ Edge [ 5 ] [ 6 ] [ 7 ] [ 8 ]
ตารางนี้แสดงข้อมูลการรองรับรูปแบบการเข้ารหัสเสียง ในปัจจุบัน ของ<audio>องค์ประกอบ ดังกล่าว
| รูปแบบ | คอนเทนเนอร์ | ประเภท MIME | โครม | อินเทอร์เน็ตเอ็กซ์พลอเรอร์ | ขอบ | เอฟเวอร์ | โอเปร่า | ซาฟารี |
|---|---|---|---|---|---|---|---|---|
| พีซีเอ็ม | วาฟ | เสียง/คลื่น | ใช่ | เลขที่ | ใช่ | ใช่ ในเวอร์ชัน 3.5 | ใช่ ในเวอร์ชัน 11.00 | ใช่ ในเวอร์ชัน 3.1 |
| เอ็มพี3 | เอ็มพี3 | เสียง/เอ็มพีจี | ใช่[ 9 ] | ใช่ ในIE9 | ใช่ | ใช่ ใน v71 [ 10 ] | ใช่[ 9 ] | ใช่ ในเวอร์ชัน 3.1 |
| เอเอซี | เอ็มพี4 | เสียง/mp4 | ใช่ | ใช่ ในIE9 | ใช่ | จากระบบปฏิบัติการ[ก] | ใช่ | ใช่ |
| ADTS [ b ] | เสียง/เอเอซีเสียง/เอเอซีพี | ใช่ | เลขที่ | ใช่ | จากระบบปฏิบัติการ[ a ] ในเวอร์ชัน 45.0 [ 12 ] [ 13 ] | ใช่ | ใช่ | |
| วอร์บิส | อ็อกก์ | เสียง/ogg | ใช่ ในเวอร์ชัน 9 | เลขที่ | ใน v79 [ 14 ]ใน v17 พร้อมด้วย Web Media Extensions [ 15 ] | ใช่ ในเวอร์ชัน 3.5 [ 16 ] | ใช่ ในเวอร์ชัน 10.50 | ใช้ได้กับXiph QuickTime Components ( สำหรับ macOS 10.11และรุ่นก่อนหน้า) |
| เว็บเอ็ม | เสียง/เว็บเอ็ม | ใช่ | เลขที่ | ใน v79 [ 14 ]ใน v17 พร้อมด้วย Web Media Extensions [ 15 ] | ใช่ ในเวอร์ชัน 4.0 [ 17 ] | ใช่ ในเวอร์ชัน 10.60 | เลขที่ | |
| โอปุส | อ็อกก์ | เสียง/ogg | ใช่ ในเวอร์ชัน 25 (และเวอร์ชัน 31 สำหรับ Windows) | เลขที่ | ใน v79 [ 18 ]ใน v17 พร้อมด้วย Web Media Extensions [ 15 ] | ใช่ ในเวอร์ชัน 15.0 [ 19 ] | ใช่ ในเวอร์ชัน 14 | เลขที่ |
| เว็บเอ็ม | เสียง/เว็บเอ็ม | ใช่ | เลขที่ | ใน v79 [ 18 ]ใน v17 พร้อมด้วย Web Media Extensions [ 15 ] | ใช่ ในเวอร์ชัน 28.0 [ 20 ] | ใช่ | ใช่ ใน Safari 15+ และmacOS Monterey [ 21 ] [ 22 ] | |
| แคลิฟอร์เนียเอฟ | เสียง/x-คาเฟ่ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | เลขที่ | ใช่ ใน Safari 11 และmacOS High Sierra | |
| ฟล.ค. | ฟล.ค. | เสียง/แฟล็ก | ใช่ ใน v56 [ 23 ] | เลขที่ | ใช่ ในเวอร์ชัน 16 [ 24 ] | ใช่ ใน v51 [ 25 ] | ใช่ | ใช่ ในเวอร์ชัน 11 [ 26 ] |
| อ็อกก์ | เสียง/ogg | ใช่ ใน v56 [ 23 ] | เลขที่ | ใน v79 [ 27 ]ใน v17 พร้อมด้วยส่วนขยายสื่อเว็บ[ 15 ] | ใช่ ใน v51 [ 25 ] | ใช่ | เลขที่ |
เว็บออดิโอ API และ MediaStream Processing API
ข้อกำหนด Web Audio API ที่พัฒนาโดยW3Cอธิบายถึง API JavaScript ระดับสูงสำหรับการประมวลผลและการสังเคราะห์เสียงในแอปพลิเคชันเว็บ รูปแบบหลักคือ กราฟการกำหนดเส้นทางเสียง โดยที่วัตถุ AudioNode จำนวนหนึ่งเชื่อมต่อกันเพื่อกำหนดการแสดงผลเสียงโดยรวม การประมวลผลจริงจะเกิดขึ้นในส่วนการใช้งานพื้นฐานเป็นหลัก (โดยทั่วไปคือโค้ด Assembly / C / C++ ที่ได้รับการปรับให้เหมาะสม) แต่ยังรองรับการประมวลผลและการสังเคราะห์เสียงโดยตรงด้วย JavaScript ด้วย[ 28 ]
เบราว์เซอร์ Firefox ของ Mozillaใช้ส่วนขยาย Audio Data API ที่คล้ายกันตั้งแต่เวอร์ชัน 4 ซึ่งใช้งานในปี 2010 [ 29 ]และเปิดตัวในปี 2011 แต่ Mozilla เตือนว่าไม่ใช่มาตรฐานและล้าสมัยแล้ว และแนะนำให้ใช้ Web Audio API แทน[ 30 ] ไลบรารี การประมวลผลและการสังเคราะห์เสียง JavaScript บางตัวเช่นAudiolet Archived 2013-01-28 ที่Wayback Machineรองรับทั้งสอง API
กลุ่มงานด้านเสียงของ W3Cกำลังพิจารณา ข้อกำหนด API การประมวลผล MediaStreamที่พัฒนาโดยMozilla [ 31 ] นอกเหนือจากการผสมและการประมวลผลเสียงแล้ว ยังครอบคลุมถึงการสตรีมสื่อทั่วไปมาก ขึ้น รวมถึงการซิงโครไนซ์กับองค์ประกอบ HTML การบันทึกสตรีมเสียงและวิดีโอ และการกำหนดเส้นทางแบบ peer-to-peerของสตรีมสื่อดังกล่าว[ 32 ]
เบราว์เซอร์ที่รองรับ
บนพีซี:
- Google Chrome 10 [ 33 ] (เปิดใช้งานโดยค่าเริ่มต้นตั้งแต่ 14 [ 34 ] )
- Firefox 23 (เปิดใช้งานโดยค่าเริ่มต้นตั้งแต่เวอร์ชัน 25)
- โอเปร่า 15
- ซาฟารี 6
- ไมโครซอฟต์ เอดจ์ 12
- โอเปร่า GX 36
บนอุปกรณ์มือถือ:
- Google Chromeสำหรับ Android เวอร์ชัน 28 (เปิดใช้งานโดยค่าเริ่มต้นตั้งแต่เวอร์ชัน 29) และ Apple iPad
- Safari 6 (มีข้อจำกัดในการใช้งาน (ปิดเสียงไว้ เว้นแต่ผู้ใช้จะโทรเข้ามา))
- Firefox 23 (เปิดใช้งานโดยค่าเริ่มต้นตั้งแต่เวอร์ชัน 25)
- ไทเซ็น
เว็บสรีช API
Web Speech APIมีเป้าหมายที่จะจัดหาวิธีการป้อนข้อมูลทางเลือกสำหรับเว็บแอปพลิเคชัน (โดยไม่ต้องใช้แป้นพิมพ์) ด้วย API นี้ นักพัฒนาสามารถให้เว็บแอปมีความสามารถในการแปลงเสียงเป็นข้อความจากไมโครโฟนของคอมพิวเตอร์ เสียงที่บันทึกไว้จะถูกส่งไปยังเซิร์ฟเวอร์เสียงเพื่อแปลงเป็นข้อความ จากนั้นข้อความจะถูกพิมพ์ออกมาให้ผู้ใช้ API นี้ไม่ขึ้นอยู่กับการใช้งานการรู้จำเสียงพูดพื้นฐานและสามารถรองรับทั้งตัวรู้จำเสียงพูดแบบเซิร์ฟเวอร์และแบบฝังตัวได้[ 35 ] กลุ่มHTML Speech Incubatorได้เสนอการใช้งานเทคโนโลยีเสียงพูดในเบราว์เซอร์ในรูปแบบของ API ที่เป็นมาตรฐานและใช้งานได้หลายแพลตฟอร์ม API นี้ประกอบด้วย: [ 36 ]
- API ป้อนข้อมูลด้วยเสียง
- API แปลงข้อความเป็นเสียงพูด
Google ได้รวมฟีเจอร์นี้เข้ากับ Google Chrome ในเดือนมีนาคม พ.ศ. 2554 [ 37 ]โดยอนุญาตให้ผู้ใช้ค้นหาเว็บด้วยเสียงโดยใช้โค้ดดังนี้:
< script type = " application / javascript" > function startSearch ( event ) { event.target.form.submit ( ) ; } </script> < form action = " http://www.google.com/search " > < input type = " search" name = " q " speech required onspeechchange = " startSearch " > </form>ดูเพิ่มเติม
หมายเหตุ
- ^ a bไม่มีการรองรับโคเด็ก AAC ในตัวเนื่องจากเหตุผลด้านลิขสิทธิ์ การถอดรหัสไฟล์เสียงต้องอาศัยระบบปฏิบัติการโฮสต์ในการจัดเตรียมไลบรารีที่เข้ากันได้[ 11 ]
- ^ไฟล์ MPEG-4 ประกอบด้วยส่วนหัวที่มีข้อมูลเมตาตามด้วย "แทร็ก" ซึ่งอาจรวมถึงข้อมูลวิดีโอและเสียง เช่น วิดีโอที่เข้ารหัส H.264 และเสียงที่เข้ารหัส AAC ในทางตรงกันข้าม ADTS เป็นรูปแบบการสตรีมที่ประกอบด้วยเฟรมหลายเฟรม โดยแต่ละเฟรมจะมีส่วนหัวตามด้วยข้อมูล AAC [ 3 ]
ลิงก์ภายนอก
- HTML/องค์ประกอบ/เสียง – วิกิ W3C
- องค์ประกอบเสียง HTML5 – W3C
- เว็บออดิโอ API – W3C
- API การประมวลผล MediaStream – W3C
- API การพูดผ่านเว็บ – W3C
- เว็บออดิโอ DAW – GitHub
- เว็บออดิโอ API ของ Mozilla
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ไฟล์เสียง HTML
HTML audio เป็นหัวข้อหนึ่งในข้อกำหนดของ HTML ซึ่งรวมถึงการใช้งานเสียง รวมถึงการแปลงเสียงเป็นข้อความ ทั้งหมดนี้ทำได้ภายในเบราว์เซอร์
_element"> องค์ประกอบ <เสียง>
องค์ประกอบ นี้ แสดงถึงเสียงหรือกระแสเสียง โดยทั่วไปจะใช้ในการเล่นไฟล์เสียงไฟล์เดียวภายในหน้าเว็บ โดยแสดงวิดเจ็ต GUI ที่มีปุ่มควบคุมการเล่น/หยุดชั่วคราว/ปรับระดับเสียง
รูปแบบการเข้ารหัสเสียงที่รองรับ
เช่นเดียวกับการใช้งาน วิดีโอ HTML การนำ HTML มาใช้ได้ กลายเป็นประเด็นถกเถียงระหว่างผู้สนับสนุน รูปแบบ เสรี และ ผู้สนับสนุนรูปแบบ ที่ติดสิทธิบัตร ในปี 2550 W3C ได้ ถอน คำแนะนำให้ใช้ Vorbis ออก จากข้อกำหนด HTML5 พร้อมกับคำแนะนำให้ใช้ Ogg Theora...
เว็บออดิโอ API และ MediaStream Processing API
ข้อกำหนด Web Audio API ที่พัฒนาโดย W3C อธิบายถึง API JavaScript ระดับสูงสำหรับการประมวลผลและการสังเคราะห์เสียงในแอปพลิเคชันเว็บ รูปแบบหลักคือ กราฟการกำหนดเส้นทางเสียง โดยที่วัตถุ AudioNode จำนวนหนึ่งเชื่อมต่อกันเพื่อกำหนดการแสดงผลเสียงโดยรวม...