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

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

แอปที่รองรับ Google Cast สำหรับเสียงจะต้องพิจารณาสิ่งต่อไปนี้

  • Google Cast สำหรับอุปกรณ์เสียงจะไม่แสดงวิดีโอหรือกราฟิก อย่างไรก็ตาม อุปกรณ์เสียงจำนวนมากมีจอแสดงผลสำหรับแสดงข้อมูลเมตา เช่น สถานะการเล่น (กำลังเล่นหรือหยุดชั่วคราว) และความคืบหน้า แอปพลิเคชันของคุณต้องไม่แสดงข้อมูลผู้ใช้ที่สำคัญดังกล่าวเฉพาะบนผู้รับเท่านั้น ข้อมูลสำคัญและอินเทอร์เฟซผู้ใช้ส่วนใหญ่ต้องแสดงต่อผู้ส่ง
  • หากต้องการเรียกใช้แอปพลิเคชันเว็บรีซีฟเวอร์อย่างถูกต้อง อุปกรณ์ Google Cast สำหรับเสียงจะต้องแสดงผลกราฟิกแม้จะไม่แสดงก็ตาม เนื่องจากอุปกรณ์อาจไม่รองรับการดำเนินการเกี่ยวกับกราฟิกที่มีการเร่งฮาร์ดแวร์ แอปพลิเคชันตัวรับสัญญาณจึงควรหลีกเลี่ยงการดำเนินการที่ต้องใช้กราฟิกมาก เช่น การไล่ระดับสี การหมุน การผสมอัลฟ่า และการวาดวัตถุขนาดใหญ่อีกครั้ง เช่น แถบความคืบหน้ามากกว่า 1 ครั้งต่อวินาที
  • Google Cast สำหรับอุปกรณ์เสียงรองรับเฉพาะเนื้อหาที่ได้รับการคุ้มครองจาก Widevine for Digital Rights Management (DRM) เท่านั้น
  • สำหรับอุปกรณ์ Google Cast สำหรับอุปกรณ์เสียงส่วนใหญ่ แอปพลิเคชันของผู้ส่งจะควบคุมช่วงระดับเสียงแบบเต็มของอุปกรณ์ (เช่น ลำโพง) ไม่ใช่เพียงระดับเสียงของอินพุตแหล่งเสียงไปยังทีวี เช่นเดียวกับอุปกรณ์ Chromecast
  • นอกเหนือจากการควบคุมการเล่นด้วยอุปกรณ์ของผู้ส่ง (เช่น โทรศัพท์) แอปอาจต้องมีไว้สำหรับการควบคุมการเล่นด้วยตัวควบคุมของอุปกรณ์เอง เช่น รีโมตคอนโทรล ปุ่มบนอุปกรณ์ หรือแอปพลิเคชันระยะไกลภายนอก
  • Google Cast สำหรับอุปกรณ์เสียงอาจรองรับการแสดงข้อมูลเมตาของเนื้อหาด้วยหน้าจอ LCD ขนาดเล็ก, เอาต์พุต HDMI (สำหรับซาวด์บาร์หรือตัวรับสัญญาณวิดีโอเสียง) หรือแอปพลิเคชันระยะไกลภายนอก ทั้งนี้ขึ้นอยู่กับ UI ของอุปกรณ์โดยเฉพาะ

การพัฒนา

ขั้นตอนแรกในการพัฒนาแอปพลิเคชัน Cast ให้รองรับ Google Cast สำหรับเสียง คือการพัฒนาแอปพลิเคชัน Cast สำหรับเสียง และตรวจสอบว่าแอปทำงานบน Chromecast ได้ เอกสารนี้จะถือว่าคุณได้พัฒนาและทดสอบแอปดังกล่าว

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

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

เพื่อให้แอปรองรับ Google Cast สำหรับเสียงได้ แอปของคุณต้องมีคุณสมบัติดังต่อไปนี้

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

  • ทำงานตามที่คาดไว้ใน Cast สำหรับอุปกรณ์เสียงเช่นเดียวกับ 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 ความสามารถของอุปกรณ์ต่อไปนี้สำหรับผู้ส่ง

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

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

  • โปรดหลีกเลี่ยงการดาวน์โหลดหรือใช้เนื้อหารูปภาพหรือกราฟิกใดๆ เพื่อลดปริมาณหน่วยความจำและร่นระยะเวลาจนกว่าวิดีโอจะเริ่มเล่น
  • เมื่อใช้ส่วนขยายแหล่งที่มาของสื่อ (MSE) แอปพลิเคชันต้องจำกัดบัฟเฟอร์ของสตรีมไว้ที่ 2 MB หากใช้ไลบรารี Media Player (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 ต่อไปนี้

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

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

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

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

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

Google Cast สำหรับเสียง 2.0

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

นักพัฒนาแอปเสียงต้องทดสอบแอปใน GC4A 2.0 คุณสามารถทดสอบแอป Cast สำหรับ GC4A 2.0 บนลำโพง Bose เวอร์ชันที่ใช้งานจริงได้ (เช่น Bose Smart Speaker 500)

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