Google Cast สำหรับอุปกรณ์เสียงรองรับการเล่นเสียงเท่านั้น คู่มือนี้จะอธิบาย วิธีเพิ่มประสิทธิภาพแอปพลิเคชัน Cast สำหรับอุปกรณ์ที่มีเฉพาะเสียง และใช้ประโยชน์จาก ช่วยลดความต้องการในการใช้หน่วยความจำ, CPU และแบนด์วิดท์ของเครือข่าย
แอปที่รองรับ Google Cast สำหรับเสียงต้องคำนึงถึงสิ่งต่อไปนี้ การพิจารณา:
- Google Cast สำหรับอุปกรณ์เสียงจะไม่แสดงวิดีโอหรือกราฟิก อย่างไรก็ตาม อุปกรณ์เสียงจำนวนมากมีจอแสดงผลสำหรับแสดงข้อมูลเมตา เช่น การเล่น สถานะ (กำลังเล่นหรือหยุดชั่วคราว) และความคืบหน้า แอปพลิเคชันของคุณต้องไม่แสดง ข้อมูลที่สำคัญของผู้ใช้ดังกล่าวเฉพาะในรีซีฟเวอร์เท่านั้น ข้อมูลสำคัญ และอินเทอร์เฟซผู้ใช้ส่วนใหญ่ต้องแสดงที่ผู้ส่ง
- Google Cast สำหรับอุปกรณ์เสียงเพื่อเรียกใช้แอปพลิเคชัน Web Receiver อย่างถูกต้อง ต้องแสดงภาพกราฟิกแม้ว่าจะไม่ได้แสดง ตั้งแต่ปี อุปกรณ์อาจไม่รองรับการทำงานของกราฟิกที่มีการเร่งฮาร์ดแวร์ แอปพลิเคชันตัวรับสัญญาณควรหลีกเลี่ยงการใช้การดำเนินการที่เน้นกราฟิกมาก เช่น การไล่ระดับสี การหมุน การรวมอัลฟ่า และการวาดซ้ำให้มีขนาดใหญ่ เช่น แถบความคืบหน้า มากกว่า 1 ครั้งต่อวินาที
- Google Cast สำหรับอุปกรณ์เสียงรองรับเฉพาะ Widevine สำหรับสิทธิ์ดิจิทัล เนื้อหาที่ปกป้องด้วยการจัดการ (DRM)
- สำหรับอุปกรณ์เสียงส่วนใหญ่ของ Google Cast นั้น แอปพลิเคชันผู้ส่งจะควบคุม ช่วงระดับเสียงสูงสุดของอุปกรณ์ (เช่น ลำโพง) ไม่ใช่แค่ ระดับเสียงของอินพุตแหล่งที่มาของเสียงไปยังทีวี เช่นเดียวกับอุปกรณ์ Chromecast
- นอกเหนือจากการควบคุมการเล่นด้วยอุปกรณ์ของผู้ส่ง (โทรศัพท์สำหรับ ) แอปอาจต้องจัดเตรียมไว้สำหรับการควบคุมการเล่นด้วย ตัวควบคุมของอุปกรณ์ เช่น รีโมตคอนโทรล ปุ่มบนอุปกรณ์ หรือ แอปพลิเคชันระยะไกลภายนอก
- Google Cast สำหรับอุปกรณ์เสียงอาจรองรับการแสดงข้อมูลเมตาของเนื้อหา พร้อมหน้าจอ LCD ขนาดเล็ก, เอาต์พุต HDMI (สำหรับซาวด์บาร์หรือเสียงและวิดีโอ ตัวรับสัญญาณ) หรือแอปพลิเคชันระยะไกลภายนอก ทั้งนี้ขึ้นอยู่กับ UI ของอุปกรณ์
การพัฒนา
ขั้นตอนแรกในการพัฒนาแอปพลิเคชัน Cast เพื่อรองรับ Google Cast สำหรับเสียง คือการพัฒนาแอปพลิเคชัน Cast สำหรับเสียงและวิดีโอ และตรวจสอบว่า Chromecast เอกสารนี้จะจะถือว่าคุณได้พัฒนาและทดสอบแอปดังกล่าวแล้ว
แอปอาจรองรับอุปกรณ์ทั้งภาพและเสียงเท่านั้น สิ่งที่จำเป็นต้องทราบ เมื่อทำการแคสต์ไปยังกลุ่มหนึ่งเทียบกับอีกประเภทหนึ่ง และใช้มาตรการเพื่อให้แน่ใจว่า ประสบการณ์ของผู้ใช้ภายใต้สถานการณ์ที่กำหนด
ตัวอย่างเช่น แอปวิดีโอและเสียงแบบคู่ (เช่น การเล่นไฟล์ในเครื่อง/NAS แอปพลิเคชัน) ควรเปิดใช้การแคสต์ไปยังอุปกรณ์เฉพาะเสียงเพื่อรองรับ เล่นไฟล์เสียง แต่แอปไม่ควรอนุญาตให้ผู้ใช้ส่งไฟล์วิดีโอ กับอุปกรณ์ที่มีเฉพาะเสียงเท่านั้น แอปสามารถใช้ API ความสามารถของอุปกรณ์สำหรับผู้ส่ง ที่อธิบายไว้ด้านล่างเพื่อพิจารณาเนื้อหาที่เหมาะสมสำหรับอุปกรณ์นี้
หากต้องการรองรับ Google Cast สำหรับเสียง แอปของคุณต้องทำสิ่งต่อไปนี้
รองรับเสียงเท่านั้น: สตรีมเพลงและไฟล์เสียง วิทยุ และอื่นๆ ที่สตรีมไปยังแอป Web Receiver ต้องไม่ใช่สตรีมวิดีโอ และโปรดหลีกเลี่ยง การสตรีมกราฟิกและรูปภาพเพื่อปรับปรุงเวลาในการเปิดแอปพลิเคชัน และการใช้งานหน่วยความจำ ดูหลักเกณฑ์การใช้งานหน่วยความจำด้านล่าง
ทำงานตามที่คาดไว้บนอุปกรณ์แคสต์เสียงและ Chromecast ปกติ
ความสามารถของอุปกรณ์
แอปของคุณจะรู้ได้ว่าแอปกำลังทำงานบนอุปกรณ์ที่มีเฉพาะเสียงหรือไม่ โดยอาศัยคุณลักษณะ API ความสามารถของอุปกรณ์ ซึ่งพร้อมใช้งานจากอุปกรณ์เองหรือผ่านผู้ส่ง หรือตัวรับสัญญาณ API
ส่วนหัว HTTP ของอุปกรณ์
ส่วนหัว HTTP ของ CAST-DEVICE-CAPABILITIES
จากอุปกรณ์แคสต์ระหว่าง
การเปิดตัวแอปพลิเคชันอธิบายความสามารถของอุปกรณ์ อุปกรณ์ส่งคำขอ
ที่มีส่วนหัวนี้ไปยังเซิร์ฟเวอร์ที่โฮสต์แอป Web Receiver ส่วนหัวของแท็ก
อุปกรณ์เฉพาะเสียงอธิบายความสามารถของอุปกรณ์ที่มี
CAST-DEVICE-CAPABILITIES: {"display_supported":false}
เมื่อเซิร์ฟเวอร์ได้รับคำขอจากอุปกรณ์ คุณสามารถใช้ ในส่วนหัวนี้เพื่อเปลี่ยนเส้นทางคำขอไปยังแอป Web Receiver ซึ่ง มีการเพิ่มประสิทธิภาพสำหรับอุปกรณ์เสียง
API ตัวรับเว็บ
คุณสามารถรับออบเจ็กต์ความสามารถของอุปกรณ์แบบเดียวกันได้โดยเรียกใช้ CastReceiverManager.getDeviceCapabilities()
เมื่อแอป Web Receiver โหลดขึ้นมา
โปรดดูข้อมูลเพิ่มเติมในความสามารถของอุปกรณ์
API ผู้ส่ง
API ผู้ส่งการแคสต์แต่ละรายการมีข้อมูลความสามารถของอุปกรณ์เช่นกัน การตั้งค่าเหล่านี้ช่วยให้แอปผู้ส่งกำหนดได้ว่าจะส่งสื่อประเภทใดไปยังผู้รับ หากแอปของคุณรองรับทั้งเสียงและวิดีโอ แอปจะหลีกเลี่ยงการส่งเนื้อหาวิดีโอไปยัง อุปกรณ์ที่ใช้เฉพาะเสียง นอกจากนี้ แอปยังควบคุมระดับเสียงได้โดยใช้วิธีการ ให้เหมาะกับอุปกรณ์ ตามที่อธิบายไว้ในรายการตรวจสอบการออกแบบ โปรดดูความสามารถของอุปกรณ์ API ต่อไปนี้สำหรับผู้ส่ง
- Android: CastDevice.hasCapabilities
- iOS: deviceCapabilities
- Chrome: chrome.cast.Capability
หลักเกณฑ์การใช้งานหน่วยความจำ
แอปตัวรับเว็บที่ทำงานในอุปกรณ์เสียงต้องจัดการการใช้งานหน่วยความจำดังนี้
- หลีกเลี่ยงการดาวน์โหลดหรือใช้เนื้อหารูปภาพหรือกราฟิกใดๆ เพื่อลดหน่วยความจำ ฟุตพริ้นท์และร่นระยะเวลาจนกว่าการเล่นจะเริ่มต้นขึ้น
- เมื่อใช้ Media Source Extensions (MSE) แอปพลิเคชันต้องจำกัดสตรีม บัฟเฟอร์เป็น 2MB หากใช้ไลบรารีมีเดียเพลเยอร์ (MPL) แอปพลิเคชัน MPL กำหนดขนาดบัฟเฟอร์ของสตรีมไว้แล้ว
- เมื่อใช้ HTMLMediaElement ระบบจะกำหนดขนาดบัฟเฟอร์ของสตรีมของแอปพลิเคชัน Chrome ตามอัตราการสตรีม จำกัดอัตราบิตของเสียงไว้ที่ 2 เมกะบิตต่อ แบบที่ 2 ซึ่งสนับสนุนตัวแปลงรหัสทั้งหมดที่อธิบายใน สื่อที่รองรับ (สูงสุด 48KHz/16 บิต)
การควบคุมระดับเสียง
สำหรับอุปกรณ์เสียงส่วนใหญ่ของ Google Cast นั้น แอปพลิเคชันผู้ส่งจะควบคุม ช่วงระดับเสียงสูงสุดของอุปกรณ์ ไม่ใช่เฉพาะระดับเสียงอินพุต ของแหล่งที่มาของเสียง เช่นเดียวกับ อุปกรณ์ Chromecast ซึ่งหมายความว่าการเพิ่มของการเปลี่ยนแปลงระดับเสียงต้องน้อยลงสำหรับ แอปพลิเคชันเฉพาะเสียงเท่านั้น โปรดดูเอกสารต่อไปนี้สำหรับหลักเกณฑ์ในการส่ง ตัวควบคุมระดับเสียงในแอปของคุณ:
- การควบคุมระดับเสียงของผู้ส่ง ในช่วง รายการตรวจสอบการออกแบบ
- ปริมาณผู้ส่ง Android
- ปริมาณผู้ส่ง iOS
- ปริมาณผู้ส่งเว็บ
การควบคุมอุปกรณ์
Google Cast สำหรับอุปกรณ์เสียงอาจมีตัวควบคุมการเล่นของตัวเอง (เช่น
ปุ่มหรือรีโมต) รายการเหล่านี้ใช้ข้อความการเล่นสื่อที่กำหนดไว้สำหรับ
เนมสเปซ urn:x-cast:com.google.cast.media
ตามที่อธิบายไว้ใน
ข้อความการเล่นสื่อเพื่อควบคุมการเล่น
ในแอปพลิเคชันตัวรับ แอปพลิเคชันผู้รับต้องสนับสนุน
ข้อความการเล่นสื่อเหล่านี้เพื่อรองรับส่วนควบคุมการเล่นของอุปกรณ์
นอกจากนี้ แอปผู้ส่งควรรองรับข้อความจากผู้รับถึงผู้ส่ง ดังนั้นหากผู้ใช้เปลี่ยนสถานะสื่อด้วยตัวควบคุมอุปกรณ์ แอปผู้ส่งจะรับข้อความสถานะจากผู้รับและอัปเดต UI ได้ ตามนั้น
การแสดงผลของอุปกรณ์
Google Cast สำหรับอุปกรณ์เสียงอาจมีหน้าจอ LCD บนอุปกรณ์หรือ แอปพลิเคชันการควบคุมเฉพาะอุปกรณ์ที่แสดงข้อมูลเมตาของสื่อ ผู้รับ แอปต้องมีข้อมูลเมตานี้สำหรับแทร็กเสียงทั้งหมดและตรวจสอบว่าซิงค์กัน กับเนื้อหาที่เล่นอยู่เพื่อให้แน่ใจว่าข้อมูลเมตาจะแสดง อย่างเหมาะสมบนจอแสดงผล หากแอปพลิเคชันใช้ข้อมูลเมตาที่กำหนดเอง นอกจากนี้ยังต้องมีข้อมูลเมตามาตรฐานของเสียงด้วย (ชื่อแทร็ก ชื่อศิลปิน อัลบั้ม เป็นต้น) ตามที่อธิบายไว้สำหรับแต่ละแพลตฟอร์มด้านล่างนี้
ผู้รับจะรับข้อมูลเมตาจากผู้ส่งเมื่อโหลดสื่อ ใน แอปผู้ส่งด้วยคำสั่งให้โหลดสื่อบนเครื่องรับ คุณจะต้อง ระบุช่องที่อธิบายด้านล่างเพื่อให้ข้อมูลเมตาแสดงใน Google Cast สำหรับอุปกรณ์เสียง ใช้ API ต่อไปนี้
Android
MediaMetadata
กับMEDIA_TYPE_MUSIC_TRACK
และ:iOS
GCKMediaMetadata
กับGCKMediaMetadataType
GCKMediaMetadataTypeMusicTrack
และChrome
MediaInfo
กับMusicTrackMediaMetadata
และ:
หากแอป Cast จัดการคิวสื่อบนเครื่องรับหรือในระบบคลาวด์
ตัวรับเว็บต้องเผยแพร่การอัปเดตสถานะสื่อโดยใช้
เนมสเปซ urn:x-cast:com.google.cast.media
เพื่อให้ผู้ส่งทั้งหมด
ทำให้ข้อมูลตรงกันแล้ว
การลงทะเบียน
คุณต้องลงทะเบียนอุปกรณ์ Google Cast สำหรับอุปกรณ์เสียงเพื่อทดสอบและลงทะเบียน แอปของคุณให้รองรับ Google Cast สำหรับอุปกรณ์เสียง โดยใช้ Google Cast SDK Developer Console
- โปรดดูที่อุปกรณ์สำหรับข้อมูลเพิ่มเติม เกี่ยวกับการลงทะเบียนอุปกรณ์
- คุณต้องเลือกช่องทำเครื่องหมายรองรับการแคสต์ไปยังอุปกรณ์เสียงเท่านั้น เมื่อ การลงทะเบียนแอปพลิเคชันของคุณเพื่ออนุญาตให้แอปของคุณค้นพบ Google Cast สำหรับ อุปกรณ์เสียง โปรดดูลงทะเบียนแอปพลิเคชัน
สำหรับแอปที่ยังไม่ได้เผยแพร่ เช่น แอปที่ใช้สำหรับการทดสอบ คุณต้องเลือก ในการรองรับอุปกรณ์ที่ใช้เฉพาะเสียงเท่านั้น เพื่อให้แอปค้นพบ อุปกรณ์ที่ใช้เฉพาะเสียง
Google Cast for Audio 2.0
Google Cast for Audio (GC4A) 2.0 เป็นแพลตฟอร์มแคสต์เสียงรุ่นใหม่ ออกแบบมาเพื่อกำหนดเป้าหมายอุปกรณ์ที่มีหน่วยความจำต่ำ เพื่อขยายระบบนิเวศของอุปกรณ์ต่างๆ สามารถสตรีมเนื้อหาของคุณ เนื่องจาก GC4A 2.0 กำหนดเป้าหมายไปยังแพลตฟอร์มเสียง เว็บ API ลดลงเพื่อให้สอดคล้องกับอุปกรณ์ที่ไม่มีการแสดงผล GC4A 2.0 กำลังเปิดตัวไปยัง และลำโพงที่มีอยู่ซึ่งรองรับการแคสต์
การทดสอบและการแก้ไขข้อบกพร่อง
เนื่องจากลำโพงที่รองรับทั้งหมดจะเปลี่ยนไปใช้ GC4A 2.0 นักพัฒนาแอปเสียงได้ทดสอบแอปใน GC4A 2.0 คุณสามารถทดสอบแอปแคสต์สำหรับ GC4A 2.0 ในรุ่นที่ใช้งานจริง ลำโพง Bose Wi-Fi, JBL Charge 5 Wi-Fi, JBL Authentics, Cambridge Audio, Teuful Motiv Home, LG 2024 Soundbars
GC4A 2.0 ไม่รองรับเครื่องซ่อมแซมระยะไกลของ Chrome ถ้าคุณต้องการแก้ไขข้อบกพร่อง Google ขอแนะนำให้ใช้ตัวบันทึกการแก้ไขข้อบกพร่องของแคสต์
กรอบการทดสอบพื้นฐานที่แนะนำ
ขอแนะนำให้ทดสอบฟีเจอร์ทั้งหมดของแอปใน GC4A 2.0 อย่าลืมใส่ การทดสอบการเล่นสื่อทุกประเภท (พอดแคสต์ สตรีม ฯลฯ) การหยุดชั่วคราว การสครับ การข้าม การเปลี่ยนเพลย์ลิสต์ การหยุด และการเชื่อมต่อการแคสต์
API ที่รองรับ
GC4A 2.0 รองรับ API ต่อไปนี้
- HTML
- JavaScript ECMA 6
- DOMParser
- XMLSerializer
- เอกสารและคลาสย่อย
- DocumentFragment
- HTMLMediaElement และ HTMLAudioElement
- HTMLVideoElement (เล่นได้เฉพาะเนื้อหาเสียง)
- HTMLScriptElement
- HTMLBaseElement
- HTMLTemplateElement
- องค์ประกอบที่กำหนดเอง
- Shadow DOM
- โมดูลสคริปต์ / ไม่พร้อมกัน / การเลื่อนเวลา
- ดึงข้อมูล / XHR
- WebSocket
- MessagePort
- คุกกี้
- MSE (ส่วนขยายแหล่งที่มาของสื่อ)
- EME (ส่วนขยายสื่อที่เข้ารหัส)
- พื้นที่เก็บข้อมูลในเครื่อง / เซสชัน
GC4A 2.0 จะไม่รองรับสิ่งต่อไปนี้
- การนำเข้าโมดูลแบบไดนามิก (จะเพิ่มในปี 2024)
- CSS
- IFrame
- TextTracks
รายชื่อติดต่อ
โปรดติดต่อ gc4a-support-external@google.com หาก คุณต้องการความช่วยเหลือในการตั้งค่าสำหรับการทดสอบ หรือไม่สามารถใช้ลำโพง Bose