ตัวรับสัญญาณเว็บที่กําหนดเอง

Jump Start - โค้ดสำหรับสร้างเว็บที่กำหนดเองแบบพื้นฐาน รีซีฟเวอร์มีความเรียบง่าย ข้ามไปที่ ลงทะเบียน Web Receiver ของคุณ จากนั้นสร้างแอปพื้นฐาน แอป Web Receiver

Web Receiver SDK ใช้มีเดียเพลเยอร์ในตัวเพื่อมอบ ประสบการณ์การเล่น อีกทั้งยังรองรับ Google Assistant ได้ทันทีด้วย เป็นฟีเจอร์เฉพาะสำหรับ Cast ที่ผู้ส่งทั้งหมดรองรับโดยอัตโนมัติ อุปกรณ์ที่เปิดใช้ระบบสัมผัส เมื่อมีการเปิดตัวฟีเจอร์ใหม่ๆ ฟีเจอร์ดังกล่าวจะยังคงเป็นต่อไป ได้รับการสนับสนุนโดยไม่ต้องมีการเปลี่ยนแปลงผู้ส่งเพิ่มเติม

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

SDK ของตัวรับเว็บของ Google

แอป Web Receiver ของคุณเข้าถึง Web Receiver API ด้วยรายการต่อไปนี้ การอ้างอิง:

<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>

แนวทางปฏิบัติแนะนำสำหรับโปรโตคอล URL: โปรดทราบว่า URL ด้านบนไม่ได้ระบุพารามิเตอร์ "http:" หรือ "https:" การละเว้นโปรโตคอลเหล่านี้เมื่อจัดหา ทรัพยากร cast_receiver_framework.js ทำให้สามารถดึงข้อมูลทรัพยากรนี้โดยใช้ โปรโตคอลเดียวกับเซิร์ฟเวอร์ที่โฮสต์แอป Web Receiver ซึ่งหมายความว่า การสลับระหว่าง HTTP สำหรับการพัฒนาและ HTTPS สำหรับการใช้งานจริงมีความโปร่งใส และไม่จำเป็นต้องเปลี่ยนโค้ด (แอป Web Receiver ที่เผยแพร่ต้องโฮสต์ บนเซิร์ฟเวอร์ที่รองรับ TLS)

ตัวอย่าง SDK

Cast Web Receiver SDK เวอร์ชันก่อนเปิดตัวยังใช้งานได้ใน ด้วยการทดสอบแอปพลิเคชันที่ไม่ได้ใช้งานจริง ข้อมูลเพิ่มเติมเกี่ยวกับ URL ตัวอย่าง SDK คุณสามารถดูได้ที่ URL แสดงตัวอย่าง SDK ของ Google Cast Web Receiver

วงจรการใช้งานแอปพลิเคชัน

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

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

แอปตัวรับเว็บอาจหยุดทำงาน (สิ้นสุดวงจรปัจจุบันและปิด แอปพลิเคชัน) ภายใต้เงื่อนไขต่อไปนี้

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

Web Receiver SDK จัดการกรณีทั่วไปทั้งหมดตาม หลักเกณฑ์ UX

ชั้นเรียนหลัก

เฟรมเวิร์ก SDK ของตัวรับเว็บมี 2 คลาสหลักๆ ดังนี้

  • cast.framework.CastReceiverContext - จัดการ เฟรมเวิร์กโดยรวมและโหลดไลบรารีที่จำเป็น คุณสามารถทำสิ่งต่อไปนี้ได้ด้วยออบเจ็กต์นี้

    • ตั้งค่าตัวเลือกการกำหนดค่าแอปพลิเคชัน
    • จัดการเหตุการณ์ของระบบ (เช่น ผู้ส่งเชื่อมต่อหรือยกเลิกการเชื่อมต่อ)
    • สร้างแชแนลที่กำหนดเอง
    • เริ่มการสื่อสารเกี่ยวกับการแคสต์
  • cast.framework.PlayerManager - จัดการสื่อ การเล่น โดยจะจัดการโปรแกรมเล่นและองค์ประกอบสื่อพื้นฐานตาม จากผู้ส่ง คุณสามารถทำสิ่งต่อไปนี้ได้ด้วยออบเจ็กต์นี้

    • จัดการการเล่น
    • จัดการคำขอเกี่ยวกับการเล่นจากผู้ส่ง
    • จัดการเหตุการณ์ที่เกี่ยวข้องกับการเล่น

ลงทะเบียนแอป Web Receiver

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

สร้างแอป Web Receiver พื้นฐาน

ต่อไปนี้เป็นโครงสร้างหลักของแอป Web Receiver พื้นฐานที่ไม่มี การปรับแต่ง:

  1. องค์ประกอบ HTML cast-media-player ที่ใช้แสดงมีเดียเพลเยอร์
  2. องค์ประกอบ HTML ของสคริปต์ที่ใช้โหลดเฟรมเวิร์ก Web Receiver
  3. โทร start() เพื่อเริ่มแอป Web Receiver โดยไม่มีตัวเลือกใดๆ

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

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    cast.framework.CastReceiverContext.getInstance().start();
  </script>
</body>
</html>

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

เปรียบเทียบ Web Receiver แบบพื้นฐานนี้กับ แอปตัวรับสัญญาณที่กำหนดเอง

สื่อและโปรแกรมเล่น

เฟรมเวิร์ก Cast มีมีเดียเพลเยอร์ในตัว ซึ่งนำเสนอโดย องค์ประกอบ HTML cast-media-player มีเดียเพลเยอร์นี้สนับสนุนการเล่นสำหรับ โปรโตคอลสตรีมมิง เช่น MPEG-DASH, HLS และ Smooth Streaming

ชุดของตัวแปลงรหัสสื่อและคอนเทนเนอร์ที่รองรับจะแสดงอยู่ในที่ สื่อที่รองรับ นักพัฒนาแอปสามารถทำสิ่งต่อไปนี้ได้ สนับสนุนรายการการดำเนินงานที่เริ่มต้นโดยผู้ส่ง เช่น โหลด เล่น หยุดชั่วคราว และ กรอ ซึ่ง Cast SDK จะจัดการการโต้ตอบกับสื่อ สำหรับรายการ การดำเนินการที่รองรับ โปรดดูข้อมูลอ้างอิง API ผู้ส่งสำหรับแพลตฟอร์มของแอป ดังนี้ RemoteMediaClient ใน Android Sender, GCKMediaControlChannel ในเครื่องมือส่งของ iOS และ Media ในเครื่องมือส่งเว็บ

กลไกการแชร์ทรัพยากรข้ามโดเมน

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