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

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

แอปที่รองรับ Google Cast for Audio ต้องพิจารณาสิ่งต่อไปนี้

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

การพัฒนา

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

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

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

แอปต้องทําดังนี้เพื่อรองรับ Google Cast สําหรับเสียง

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

  • เรียกใช้ตามที่คาดไว้บนอุปกรณ์แคสต์สําหรับเสียง รวมถึง Chromecast ปกติ

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

แอปสามารถดูได้ว่าแอปทํางานอยู่บนอุปกรณ์ที่มีเสียงเท่านั้นหรือไม่ ด้วยการใช้ API ความสามารถของอุปกรณ์ ซึ่งใช้งานได้จากอุปกรณ์หรือผ่าน API ผู้ส่งหรือผู้รับ

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

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

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

API ตัวรับสัญญาณเว็บ

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

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

API ของผู้ส่ง

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

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

แอปตัวรับข้อมูลเว็บที่ทํางานในอุปกรณ์เสียงต้องจัดการการใช้หน่วยความจําดังนี้

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

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

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

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

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

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

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

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

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

หากแอปแคสต์จัดการคิวสื่อบนตัวรับหรือในระบบคลาวด์ ตัวรับสัญญาณในเว็บต้องเผยแพร่การอัปเดตสถานะสื่อโดยใช้เนมสเปซ 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 เป็นแพลตฟอร์มเสียงของ Cast รุ่นใหม่ที่ออกแบบมาเพื่อกําหนดเป้าหมายอุปกรณ์หน่วยความจําต่ํา เพื่อขยายระบบนิเวศของอุปกรณ์ที่สตรีมเนื้อหาได้

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

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