อุปกรณ์เสียง

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) ควรเปิดใช้การแคสต์ไปยังอุปกรณ์ที่มีเฉพาะเสียงเพื่อรองรับการเล่นไฟล์เสียง แต่แอปไม่ควรอนุญาตให้ผู้ใช้ส่งไฟล์วิดีโอไปยังอุปกรณ์ที่มีเฉพาะเสียง แอปสามารถใช้ Device Capabilities API สำหรับผู้ส่งที่อธิบายไว้ด้านล่างเพื่อระบุเนื้อหาที่เหมาะสมกับอุปกรณ์

หากต้องการรองรับ Google Cast สำหรับเสียง แอปของคุณต้องทำสิ่งต่อไปนี้

  • รองรับเฉพาะเสียง: สตรีมมิงเพลงและไฟล์เสียง วิทยุ ฯลฯ สื่อที่สตรีมไปยังแอป Web Receiver ต้องไม่ใช่สตรีมวิดีโอ นอกจากนี้ ให้หลีกเลี่ยงการสตรีมกราฟิกและรูปภาพเพื่อปรับปรุงเวลาในการเปิดแอปพลิเคชันและการใช้หน่วยความจำ ดูหลักเกณฑ์การใช้งานหน่วยความจำด้านล่าง

  • ทำงานได้ตามปกติในอุปกรณ์ Cast สำหรับเสียงและ Chromecast ปกติ

ความสามารถของอุปกรณ์

แอปจะทราบว่ากำลังทำงานบนอุปกรณ์ที่มีเฉพาะเสียงหรือไม่ได้ด้วย API ความสามารถของอุปกรณ์ ซึ่งได้จากตัวอุปกรณ์เองหรือผ่าน API ผู้ส่งหรือผู้รับ

ส่วนหัว HTTP ของอุปกรณ์

CAST-DEVICE-CAPABILITIES ส่วนหัว HTTP ที่อุปกรณ์แคสต์ระบุระหว่างการเปิดใช้งานแอปพลิเคชันจะอธิบายความสามารถของอุปกรณ์ อุปกรณ์จะส่งคำขอที่มีส่วนหัวนี้ไปยังเซิร์ฟเวอร์ที่โฮสต์แอป Web Receiver ส่วนหัวสำหรับอุปกรณ์ที่เล่นได้เฉพาะเสียงจะอธิบายความสามารถของอุปกรณ์ด้วย CAST-DEVICE-CAPABILITIES: {"display_supported":false}

เมื่อเซิร์ฟเวอร์ได้รับคําขอจากอุปกรณ์ คุณสามารถใช้ข้อมูลในส่วนหัวนี้เพื่อเปลี่ยนเส้นทางคําขอไปยังแอป Web Receiver ซึ่งเพิ่มประสิทธิภาพให้เหมาะกับอุปกรณ์เสียง

Web Receiver API

คุณจะได้รับออบเจ็กต์ความสามารถของอุปกรณ์เดียวกันโดยการเรียกใช้ CastReceiverManager.getDeviceCapabilities() เมื่อโหลดแอป Web Receiver

ดูข้อมูลเพิ่มเติมได้ที่ความสามารถของอุปกรณ์

Sender API

API ตัวส่งแคสต์แต่ละรายการจะมีข้อมูลความสามารถของอุปกรณ์ด้วย ซึ่งช่วยให้แอปของผู้ส่งตัดสินใจได้ว่าควรส่งสื่อประเภทใดไปยังผู้รับ หากแอปรองรับทั้งเสียงและวิดีโอ แอปจะหลีกเลี่ยงการส่งเนื้อหาวิดีโอไปยังอุปกรณ์ที่รองรับเฉพาะเสียง นอกจากนี้ แอปของคุณยังควบคุมระดับเสียงโดยใช้วิธีที่เหมาะกับอุปกรณ์มากที่สุดตามที่อธิบายไว้ในรายการตรวจสอบการออกแบบ ดู API ความสามารถของอุปกรณ์ต่อไปนี้สำหรับผู้ส่ง

หลักเกณฑ์การใช้งานหน่วยความจำ

แอป Web Receiver ที่ทำงานบนอุปกรณ์เสียงต้องจัดการการใช้หน่วยความจำดังนี้

  • หลีกเลี่ยงการดาวน์โหลดหรือการใช้ชิ้นงานรูปภาพหรือกราฟิก เพื่อลดการใช้หน่วยความจำและย่นเวลาในการเริ่มเล่น
  • เมื่อใช้ส่วนขยายแหล่งที่มาของสื่อ (MSE) แอปพลิเคชันต้องจำกัดบัฟเฟอร์สตรีมไว้ที่ 2 MB หากใช้ Media Player Library (MPL) อยู่แล้ว MPL จะกำหนดขนาดบัฟเฟอร์สตรีมของแอปพลิเคชันไว้แล้ว
  • เมื่อใช้ HTMLMediaElement จะเป็น Chrome ที่กำหนดขนาดบัฟเฟอร์สตรีมของแอปพลิเคชันตามอัตราสตรีม จำกัดอัตราบิตของเสียงไว้ที่ 2 เมกะบิตต่อวินาที ซึ่งรองรับตัวแปลงรหัสทั้งหมดที่อธิบายไว้ในสื่อที่รองรับ (สูงสุด 48KHz/16 บิต)

การควบคุมระดับเสียง

สำหรับอุปกรณ์ Google Cast สำหรับเสียงส่วนใหญ่ แอปพลิเคชันผู้ส่งจะควบคุมช่วงระดับเสียงทั้งหมดของอุปกรณ์ ไม่ใช่แค่ระดับเสียงอินพุตของแหล่งที่มาของเสียง เช่นเดียวกับอุปกรณ์ Chromecast ซึ่งหมายความว่าแอปพลิเคชันที่มีเฉพาะเสียงจะต้องเพิ่มการเปลี่ยนแปลงระดับเสียงน้อยลง ดูหลักเกณฑ์เกี่ยวกับการให้การควบคุมระดับเสียงในแอปได้จากเอกสารต่อไปนี้

การควบคุมอุปกรณ์

Google Cast สำหรับอุปกรณ์เสียงอาจมีการควบคุมการเล่นของตนเอง (เช่น ปุ่ม รีโมต) ซึ่งจะใช้ข้อความการเล่นสื่อที่กําหนดไว้สําหรับเนมสเปซ urn:x-cast:com.google.cast.media ตามที่อธิบายไว้ในข้อความการเล่นสื่อ เพื่อควบคุมการเล่นในแอปพลิเคชันผู้รับ แอปพลิเคชันผู้รับต้องรองรับข้อความการเล่นสื่อเหล่านี้เพื่อรองรับการควบคุมการเล่นของอุปกรณ์

นอกจากนี้ แอปผู้ส่งควรรองรับข้อความจากผู้รับไปยังผู้ส่งด้วย เพื่อที่ว่าหากผู้ใช้เปลี่ยนสถานะสื่อด้วยการควบคุมอุปกรณ์ แอปผู้ส่งจะรับข้อความสถานะจากผู้รับและอัปเดต UI ตามความเหมาะสมได้

การแสดงผลของอุปกรณ์

อุปกรณ์ Google Cast สำหรับเสียงอาจมีหน้าจอ LCD ในอุปกรณ์หรือแอปพลิเคชันการควบคุมเฉพาะอุปกรณ์ที่แสดงข้อมูลเมตาของสื่อ แอปรีซีฟเวอร์ของคุณต้องระบุข้อมูลเมตานี้สำหรับแทร็กเสียงทั้งหมดและตรวจสอบว่าข้อมูลเมตาดังกล่าวซิงค์กับเนื้อหาที่เล่นอยู่เพื่อให้ข้อมูลเมตาแสดงบนจอแสดงผลอย่างเหมาะสม หากแอปพลิเคชันใช้ข้อมูลเมตาที่กำหนดเอง แอปพลิเคชันนั้นต้องระบุข้อมูลเมตาเสียงมาตรฐานด้วย (ชื่อแทร็ก ชื่อศิลปิน ชื่ออัลบั้ม ฯลฯ) ตามที่อธิบายไว้สำหรับแต่ละแพลตฟอร์มด้านล่าง

ผู้รับจะได้รับข้อมูลเมตาจากผู้ส่งเมื่อโหลดสื่อ ในแอปส่งของคุณที่มีคำสั่งให้โหลดสื่อในอุปกรณ์รับ คุณต้องระบุช่องที่อธิบายไว้ด้านล่างเพื่อให้ข้อมูลเมตาแสดงใน Google Cast สำหรับอุปกรณ์เสียง ใช้ API ต่อไปนี้

หากแอปแคสต์จัดการคิวสื่อในเครื่องรับหรือในระบบคลาวด์ เครื่องรับเว็บต้องออกอากาศการอัปเดตสถานะสื่อโดยใช้เนมสเปซ urn:x-cast:com.google.cast.media เพื่อให้ผู้ส่งทุกคนซิงค์กัน

การลงทะเบียน

คุณต้องลงทะเบียน Google Cast สำหรับอุปกรณ์เสียงเพื่อทดสอบและลงทะเบียนแอปเพื่อรองรับ Google Cast สำหรับอุปกรณ์เสียงโดยใช้แผงควบคุมสำหรับนักพัฒนาซอฟต์แวร์ Google Cast SDK

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับการลงทะเบียนอุปกรณ์ได้ที่อุปกรณ์
  • คุณต้องเลือกช่องทำเครื่องหมายรองรับการแคสต์ไปยังอุปกรณ์ที่มีเฉพาะเสียงเมื่อลงทะเบียนแอปพลิเคชันเพื่อให้แอปค้นพบ Google Cast สำหรับอุปกรณ์เสียง โปรดดูหัวข้อลงทะเบียนแอปพลิเคชัน

สําหรับแอปที่ยังไม่เผยแพร่ เช่น แอปที่ใช้ทดสอบ คุณต้องเลือกตัวเลือกเพื่อรองรับอุปกรณ์แบบเฉพาะเสียงเท่านั้นเพื่อให้แอปค้นพบอุปกรณ์แบบเฉพาะเสียงเท่านั้น

Google Cast for Audio 2.0

Google Cast สำหรับเสียง (GC4A) 2.0 คือแพลตฟอร์มเสียง Cast รุ่นถัดไปที่ออกแบบมาเพื่อกำหนดเป้าหมายไปยังอุปกรณ์ที่มีหน่วยความจำต่ำ เพื่อขยายระบบนิเวศของอุปกรณ์ที่สตรีมเนื้อหาของคุณได้ เนื่องจาก GC4A 2.0 กำหนดเป้าหมายไปยังแพลตฟอร์มเสียง ระบบจึงลดชุดเว็บ API ให้สอดคล้องกับอุปกรณ์ที่ไม่มีจอแสดงผล GC4A 2.0 กำลังเปิดตัวในลำโพงรุ่นใหม่และลำโพงที่มีอยู่ซึ่งรองรับการแคสต์

การทดสอบและการแก้ไขข้อบกพร่อง

เนื่องจากลำโพงทั้งหมดที่รองรับจะเปลี่ยนไปใช้ GC4A 2.0 นักพัฒนาแอปเสียงจึงควรทดสอบแอปของตนใน GC4A 2.0 คุณสามารถทดสอบแอปแคสต์สำหรับ GC4A 2.0 บนอุปกรณ์ GC4A 2.0 ใดก็ได้ที่แสดงอยู่ในรายการนี้

GC4A 2.0 ไม่รองรับเครื่องมือแก้ไขข้อบกพร่องระยะไกลของ Chrome หากต้องการแก้ไขข้อบกพร่องของแอป Google ขอแนะนำให้ใช้ Cast Debug Logger

อุปกรณ์ GC4A 2.0 ที่พร้อมใช้งาน

ต่อไปนี้เป็นรายการอุปกรณ์ GC4A 2.0 โดยสังเขป

  • Bose: ลำโพง Wi-Fi และซาวด์บาร์อัจฉริยะ
  • JBL: Charge 5 Wi-Fi / Boombox 3 Wi-Fi / Authentics 200, 300 และ 500
  • Samsung: Music Frame / Soundbars
  • LG: ซาวด์บาร์ S90TY/SG10TY/SE70Q/S80Q/S90Q
  • Bang & Olufsen Beosound 2 / Beocore Connect
  • Sonoro Maestro 2 / Meisterstruck 2
  • Cambridge Audio MXN10
  • KEF LS60 / LSX II
  • Teufel Motiv Home
  • Nordic Argon Audio
  • WiiM CI MOD S / Ultra

ขอแนะนําให้ทดสอบฟีเจอร์ทั้งหมดของแอปใน GC4A 2.0 อย่าลืมทดสอบการเล่นสื่อทุกประเภท (พอดแคสต์ สตรีม ฯลฯ) การหยุดชั่วคราว การสลับไปมา ข้าม เปลี่ยนเพลย์ลิสต์ หยุด และเชื่อมต่อ Cast อีกครั้ง

API ที่รองรับ

GC4A 2.0 รองรับ API ต่อไปนี้

  • HTML
  • JavaScript ECMA 6
  • DOMParser
  • XMLSerializer
  • เอกสารและคลาสย่อย
  • DocumentFragment
  • HTMLMediaElement และ HTMLAudioElement
  • HTMLVideoElement (เล่นได้เฉพาะเนื้อหาเสียง)
  • HTMLScriptElement
  • HTMLBaseElement
  • HTMLTemplateElement
  • องค์ประกอบที่กำหนดเอง
  • Shadow DOM
  • โมดูลสคริปต์ / โหลดพร้อมกันได้ / เลื่อนเวลา
  • การดึงข้อมูล / XHR
  • WebSocket
  • MessagePort
  • คุกกี้
  • MSE (Media Source Extensions)
  • EME (Encrypted Media Extensions)
  • พื้นที่เก็บข้อมูลในเครื่อง / เซสชัน

GC4A 2.0 ไม่รองรับรายการต่อไปนี้

  • การนําเข้าโมดูลแบบไดนามิก (จะเพิ่มในปี 2024)
  • CSS
  • IFrame
  • TextTracks

รายชื่อติดต่อ

โปรดติดต่อ gc4a-support-external@google.com หากต้องการความช่วยเหลือในการตั้งค่าเพื่อทดสอบหรือใช้ลำโพง Bose ไม่ได้