แอปพลิเคชันผู้ส่ง Google Cast จะควบคุมการเล่นในอุปกรณ์ของผู้รับโดยการส่งข้อความในรูปแบบ JSON ไปยังแอปพลิเคชันของผู้รับ ในทํานองเดียวกัน ผู้รับก็จะส่งข้อความกลับไปยังผู้ส่งด้วยใน JSON ข้อความอาจเป็นคําสั่งจากผู้ส่งที่เปลี่ยนสถานะโปรแกรมเล่น การตอบกลับคําสั่งเหล่านั้นจากผู้รับ หรือโครงสร้างข้อมูลที่อธิบายสื่อสําหรับแอปพลิเคชันของผู้รับ
ตามข้อกําหนดในการให้บริการเพิ่มเติมสําหรับนักพัฒนาซอฟต์แวร์ Google Cast SDK แอปพลิเคชันสื่อแคสต์จะต้องใช้ข้อความเหล่านี้ที่ระบุไว้ที่นี่เพื่อควบคุมการเล่นสื่อบนตัวรับ ซึ่งจะช่วยให้ผู้ใช้สื่อได้รับประสบการณ์ของผู้ใช้ที่สอดคล้องกันในแพลตฟอร์มต่างๆ และดูแลให้แอปพลิเคชัน Cast รองรับกรณีการใช้งานใหม่ๆ และในอนาคต และโครงสร้างเหล่านี้ยังรองรับข้อมูลที่กําหนดเองในกรณีที่เหมาะสม และแอปพลิเคชันอาจกําหนดข้อความของตัวเองสําหรับคําสั่งที่ SDK ไม่รองรับ
เนมสเปซสําหรับข้อความเล่นสื่อจะกําหนดเป็น urn:x-cast:com.google.cast.media
หมายเหตุ: ข้อความและโครงสร้างในข้อกําหนดนี้จะมีขนาดสูงสุดโดยนัยซึ่งกําหนดโดยขนาดสูงสุดของข้อความขนส่ง ไม่มีขีดจํากัดสําหรับแต่ละช่อง ขนาดสูงสุดของข้อความขนส่งคือ 64 KByt
โครงสร้างข้อมูลเนมสเปซที่พบบ่อย
ชุดย่อยของโครงสร้างข้อมูลที่ใช้โดยอาร์ติแฟกต์เนมสเปซทั้งหมดของสื่อที่กําหนดไว้ในเนมสเปซทั่วไป
รูปภาพ
นี่คือคําอธิบายรูปภาพ ซึ่งรวมถึงข้อมูลเมตาปริมาณเล็กน้อยเพื่อให้แอปพลิเคชันผู้ส่งเลือกรูปภาพได้ ทั้งนี้ขึ้นอยู่กับวิธีการแสดงผล
ความสูงและความกว้างเป็นตัวเลือกที่ไม่บังคับสําหรับสินค้าเพียงรายการเดียวในอาร์เรย์รูปภาพ เช่น หากมีการคืนสินค้า 1 รายการ ก็ไม่จําเป็นต้องระบุ หากมีสินค้า 2 รายการที่แสดง โดยรายการหนึ่งต้องระบุความสูงและความกว้าง แต่ผู้ส่งอาจเลือกใช้ตัวเลือก "ค่าเริ่มต้น" ก็ได้หากไม่ชอบอีกรายการที่ส่งมาด้วยพารามิเตอร์ที่เฉพาะเจาะจง
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
URL | URI | URI สําหรับรูปภาพ |
ความสูง | จำนวนเต็ม | ไม่บังคับเกี่ยวกับความสูงของรูปภาพ |
กว้าง | จำนวนเต็ม | ไม่บังคับสําหรับความกว้างของรูปภาพ |
ระดับเสียง
ระดับเสียงของสตรีมสื่อ ใช้สําหรับเอฟเฟกต์แบบเฟดเข้า/เฟดออกในสตรีมสื่อ (หมายเหตุ: ระดับเสียงของระบบ จะเปลี่ยนไปโดยใช้ API ผู้ส่ง) ต้องไม่ใช้ร่วมกับสตรีมระดับเสียงร่วมกับแถบเลื่อนระดับเสียงหรือปุ่มปรับระดับเสียงเพื่อควบคุมระดับเสียงของอุปกรณ์ ต้องส่งผ่านพารามิเตอร์ต่อไปนี้อย่างน้อย 1 รายการเพื่อเปลี่ยนระดับเสียงของสตรีม
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ระดับ | คู่ | ไม่บังคับระดับเสียงของสตรีมปัจจุบันเป็นค่าระหว่าง 0.0 ถึง 1.0 โดยที่ 1.0 เป็นระดับเสียงสูงสุด |
ปิดเสียง | บูลีน | ไม่บังคับ ไม่ว่าจะปิดเสียงอุปกรณ์แคสต์หรือไม่ก็ตาม โดยไม่ขึ้นอยู่กับระดับเสียง |
โครงสร้างข้อมูลเนมสเปซสื่อ
ข้อความเหล่านี้จะอธิบายสถานะของโปรแกรมเล่นสื่อ เนมสเปซคือ urn:x-cast:com.google.cast.media
ข้อมูลสื่อ
โครงสร้างข้อมูลนี้อธิบายสตรีมสื่อ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเนื้อหา | สตริง | ตัวระบุเฉพาะบริการของเนื้อหาที่โหลดโดยโปรแกรมเล่นสื่อในปัจจุบัน นี่คือสตริงรูปแบบอิสระและมีไว้สําหรับแอปพลิเคชันเท่านั้น ในกรณีส่วนใหญ่ การดําเนินการนี้จะเป็น URL ของสื่อ แต่ผู้ส่งสามารถเลือกส่งสตริงที่ผู้รับจะตีความได้อย่างถูกต้อง ความยาวสูงสุด: 1k |
ประเภทสตรีม | enum (สตริง) |
อธิบายประเภทของอาร์ติแฟกต์สื่อเป็นอย่างใดอย่างหนึ่งต่อไปนี้
|
ประเภทเนื้อหา | สตริง | ประเภทเนื้อหา MIME ของสื่อที่เล่น |
ข้อมูลเมตา | ออบเจ็กต์ | ไม่บังคับ ออบเจ็กต์ข้อมูลเมตาของสื่อ ซึ่งเป็นไปตามข้อใดข้อหนึ่งต่อไปนี้ |
ระยะเวลา | คู่ | ไม่บังคับระยะเวลาของสตรีมที่เล่นอยู่เป็นวินาที |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้ส่งหรือแอปพลิเคชันผู้รับ |
ข้อมูลเมตาของสื่อทั่วไป
อธิบายอาร์ติแฟกต์สื่อทั่วไป
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ประเภทข้อมูลเมตา | จำนวนเต็ม | 0 (ค่าเดียว) |
ชื่อ | สตริง | ไม่บังคับ คือชื่อที่สื่อความหมายของเนื้อหา โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
คําบรรยาย | สตริง | ไม่บังคับคือชื่อรองที่สื่อความหมายของเนื้อหา โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
รูปภาพ | รูปภาพ[] | ไม่บังคับ อาร์เรย์ของ URL ไปยังรูปภาพที่เชื่อมโยงกับเนื้อหา โดยค่าเริ่มต้น ผู้ส่งระบุข้อความเริ่มต้นในช่องในข้อความโหลดได้ ควรระบุขนาดที่แนะนํา |
วันที่วางจําหน่าย | สตริง (ISO 8601) | ไม่บังคับวันที่และเวลาเผยแพร่เนื้อหา ISO 8601 โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
ข้อมูลเมตาของภาพยนตร์
อธิบายอาร์ติแฟกต์สื่อภาพยนตร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ประเภทข้อมูลเมตา | จำนวนเต็ม | 1 (ค่าเดียว) |
ชื่อ | สตริง | ไม่บังคับ คือชื่อที่สื่อความหมายของเนื้อหา โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
คําบรรยาย | สตริง | ไม่บังคับคือชื่อรองที่สื่อความหมายของเนื้อหา โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
สตูดิโอ | สตริง | ไม่บังคับสําหรับสตูดิโอที่เผยแพร่เนื้อหา โปรแกรมเล่นสามารถเรียก Studio ได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุในข้อความโหลด |
รูปภาพ | รูปภาพ[] | ไม่บังคับ อาร์เรย์ของ URL ไปยังรูปภาพที่เชื่อมโยงกับเนื้อหา โดยค่าเริ่มต้น ผู้ส่งระบุข้อความเริ่มต้นในช่องในข้อความโหลดได้ ควรระบุขนาดที่แนะนํา |
วันที่วางจําหน่าย | สตริง (ISO 8601) | ไม่บังคับวันที่และเวลาเผยแพร่เนื้อหา ISO 8601 โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
TvShowMediaMetadata
อธิบายอาร์ติแฟกต์สื่อของตอนของรายการทีวี
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ประเภทข้อมูลเมตา | จำนวนเต็ม | 2 (ค่าเดียว) |
ชื่อชุดหนังสือ | สตริง | ไม่บังคับ ชื่อที่สื่อความหมายของซีรีส์ทีวี โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
คําบรรยาย | สตริง | ไม่บังคับคือคําบรรยายที่สื่อความหมายของตอนของรายการทีวี โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
ซีซัน | จำนวนเต็ม | ไม่บังคับหมายเลขซีซันของรายการรายการทีวี |
ตอน | จำนวนเต็ม | ไม่บังคับ หมายเลขตอน (ในซีซัน) ของรายการทีวี |
รูปภาพ | รูปภาพ[] | ไม่บังคับ อาร์เรย์ของ URL ไปยังรูปภาพที่เชื่อมโยงกับเนื้อหา โดยค่าเริ่มต้น ผู้ส่งระบุข้อความเริ่มต้นในช่องในข้อความโหลดได้ ควรระบุขนาดที่แนะนํา |
originalAirDate | สตริง (ISO 8601) | ไม่บังคับวันที่และเวลาเผยแพร่ ISO 8601 ในขณะนี้ โปรแกรมเล่นสามารถเรียกข้อมูลOriginalAirDate ได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งจะระบุไว้ในข้อความโหลด |
ข้อมูลเมตาของสื่อแทร็กเพลง
อธิบายอาร์ติแฟกต์สื่อของแทร็กเพลง
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ประเภทข้อมูลเมตา | จำนวนเต็ม | 3 (ค่าเดียว) |
ชื่ออัลบั้ม | สตริง | ไม่บังคับ อัลบั้มหรือคอลเล็กชันที่วาดแทร็กนี้ โปรแกรมเล่นสามารถเรียกข้อมูล calendarName โดยใช้ content_id ได้อย่างอิสระ หรือผู้ส่งจะระบุไว้ในข้อความโหลดก็ได้ |
ชื่อ | สตริง | ไม่บังคับชื่อแทร็ก (เช่น ชื่อเพลง) โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
อัลบั้มศิลปิน | สตริง | ไม่บังคับชื่อศิลปินที่เชื่อมโยงกับอัลบั้มที่มีแทร็กนี้ โปรแกรมเล่นสามารถเรียกข้อมูลอัลบั้มศิลปินอย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจส่งข้อความในข้อความโหลด |
ศิลปิน | สตริง | ไม่บังคับชื่อศิลปินที่เชื่อมโยงกับแทร็กสื่อ โปรแกรมเล่นสามารถดึงข้อมูลศิลปินได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
องค์ประกอบ | สตริง | ไม่บังคับ ชื่อของนักแต่งเพลงที่เชื่อมโยงกับแทร็กสื่อ โปรแกรมเล่นสามารถเรียกข้อมูลผู้ประพันธ์เพลงได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
หมายเลขแทร็ก | จำนวนเต็ม | ไม่บังคับ จํานวนแทร็กในอัลบั้ม |
หมายเลขดิสก์ | จำนวนเต็ม | ไม่บังคับ จํานวนระดับเสียง (เช่น ดิสก์) ของอัลบั้ม |
รูปภาพ | รูปภาพ[] | ไม่บังคับ อาร์เรย์ของ URL ไปยังรูปภาพที่เชื่อมโยงกับเนื้อหา โดยค่าเริ่มต้น ผู้ส่งระบุข้อความเริ่มต้นในช่องในข้อความโหลดได้ ควรระบุขนาดที่แนะนํา |
วันที่วางจําหน่าย | สตริง (ISO 8601) | ไม่บังคับวันที่และเวลาเผยแพร่เนื้อหา ISO 8601 โปรแกรมเล่นสามารถเรียกข้อมูล relDate ได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
ข้อมูลเมตาของรูปภาพ
อธิบายอาร์ติแฟกต์สื่อรูปภาพ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
ประเภทข้อมูลเมตา | จำนวนเต็ม | 4 (ค่าเดียว) |
ชื่อ | สตริง | ไม่บังคับเกี่ยวกับชื่อของรูปภาพ โปรแกรมเล่นสามารถดึงชื่อได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
ศิลปิน | สตริง | ไม่บังคับ ชื่อของช่างภาพ โปรแกรมเล่นสามารถดึงข้อมูลศิลปินได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
สถานที่ตั้ง | สตริง | ไม่บังคับเป็นสถานที่ที่ใช้ถ่ายภาพที่ถ่าย เช่น "มาดริด สเปน" โปรแกรมเล่นสามารถดึงตําแหน่งได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
latitude | คู่ | ไม่บังคับ: ค่าละติจูดทางภูมิศาสตร์ของสถานที่ที่ถ่ายภาพ โปรแกรมเล่นสามารถเรียกข้อมูลละติจูดได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
longitude | คู่ | ไม่บังคับค่าลองจิจูดทางภูมิศาสตร์สําหรับสถานที่ถ่ายภาพ โปรแกรมเล่นสามารถเรียกข้อมูลลองจิจูดโดยใช้ content_id หรือส่งจากผู้ส่งในข้อความโหลด |
กว้าง | จำนวนเต็ม | ไม่บังคับ ความกว้างของพิกเซลของรูปภาพ โปรแกรมเล่นสามารถดึงความกว้างได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความ Load |
ความสูง | จำนวนเต็ม | ไม่บังคับความสูงของความสูงในรูปภาพ โปรแกรมเล่นสามารถดึงความสูงได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
วันที่สร้าง | สตริง (ISO 8601) | ไม่บังคับวันที่และเวลาถ่าย ISO 8601 โปรแกรมเล่นสามารถเรียกข้อมูล CreateDateTime ได้อย่างอิสระโดยใช้ content_id หรือผู้ส่งอาจระบุไว้ในข้อความโหลด |
สถานะสื่อ
อธิบายสถานะปัจจุบันของอาร์ติแฟกต์สื่อที่เกี่ยวข้องกับเซสชัน
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสที่ไม่ซ้ํากันสําหรับการเล่นของเซสชันนี้ รหัสนี้กําหนดโดยผู้รับที่ LOAD และใช้เพื่อระบุอินสแตนซ์ที่เฉพาะเจาะจงของการเล่นได้ เช่น การเล่น "ขออยู่ที่นี่" 2 ครั้งภายในเซสชันเดียวกัน แต่ละสื่อจะมี MediaSessionId ไม่ซ้ํากัน |
สื่อ | ข้อมูลสื่อ | ไม่บังคับ (สําหรับข้อความสถานะ) คําอธิบายแบบเต็มของเนื้อหาที่กําลังเล่น จะแสดงผลในข้อความสถานะก็ต่อเมื่อ MediaMedia มีการเปลี่ยนแปลงเท่านั้น |
playbackRate | จำนวนลอยตัว | ระบุว่าเวลาสื่อมีความคืบหน้าหรือไม่และมีอัตราใด โดยไม่คํานึงถึงสถานะผู้เล่น เนื่องจากเวลาของสื่ออาจหยุดได้ทุกเมื่อ 1.0 เป็นเวลาปกติ 0.5 เป็นสโลว์โมชัน |
สถานะรัฐ | enum (สตริง) | อธิบายสถานะของโปรแกรมเล่นวิดีโออย่างใดอย่างหนึ่งต่อไปนี้
|
idleReason | enum (สตริง) | ไม่บังคับ หาก PlayerState เป็น IDLE และทราบเหตุผลที่ระบุ IDLE ระบบจะระบุพร็อพเพอร์ตี้นี้ หากเครื่องเล่นไม่ทํางานเนื่องจากเพิ่งเริ่มต้น จะไม่มีการให้พร็อพเพอร์ตี้นี้หากโปรแกรมเล่นอยู่ในสถานะอื่นๆ ไม่ควรระบุพร็อพเพอร์ตี้นี้ ค่าที่ใช้ได้มีดังนี้
|
เวลาปัจจุบัน | คู่ | ตําแหน่งปัจจุบันของโปรแกรมเล่นสื่อตั้งแต่เริ่มต้นเนื้อหาเป็นวินาที หากเป็นเนื้อหาสตรีมแบบสด ช่องนี้จะแสดงเวลาเป็นวินาทีนับจากจุดเริ่มต้นของเหตุการณ์ที่ผู้เล่นควรรู้จัก |
supportedMediaCommands | Flag | แฟล็กที่อธิบายถึงคําสั่งสื่อที่โปรแกรมเล่นสื่อรองรับมีดังนี้
ชุดค่าผสมนี้รวมกันเป็นผลรวม เช่น หยุดชั่วคราว+กรอ+สตรีมระดับเสียง +ปิดเสียง == 15 |
ปริมาณ | ระดับเสียง | ปริมาณสตรีม |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |
คําสั่งจากผู้ส่งไปยังผู้รับ
คําสั่งเหล่านี้จะควบคุมโปรแกรมเล่นสื่อ ออบเจ็กต์ customData ทั้งหมดในข้อความด้านล่างต้องเป็นตัวเลือก (กล่าวคือ ตัวรับควรลดระดับลงอย่างถูกต้องหากไม่ได้ส่งข้อมูล) ซึ่งจะทําให้แอปรีโมตคอนโทรลทั่วไปทํางานได้อย่างถูกต้อง
โหลด
โหลดเนื้อหาใหม่ลงในโปรแกรมเล่นสื่อ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | LOAD (ค่าเท่านั้น) |
สื่อ | ข้อมูลสื่อ | ข้อมูลเมตา (รวมถึง contentId) ของสื่อที่จะโหลด |
เล่นอัตโนมัติ | บูลีน | ไม่บังคับ (ค่าเริ่มต้นเป็นจริง) หากระบุพารามิเตอร์การเล่นอัตโนมัติ โปรแกรมเล่นสื่อจะเริ่มเล่นเนื้อหาเมื่อโหลดเนื้อหาแล้ว แม้ว่าจะไม่ได้ระบุการเล่นอัตโนมัติ แต่การใช้งานโปรแกรมเล่นสื่ออาจเลือกที่จะเริ่มเล่นทันที หากเริ่มเล่นแล้ว สถานะของโปรแกรมเล่นในการตอบสนองควรตั้งค่าเป็น "การบัฟเฟอร์" มิเช่นนั้น ให้ตั้งค่าเป็น "หยุดชั่วคราว" |
เวลาปัจจุบัน | คู่ | ไม่บังคับ วินาทีนับจากเริ่มต้นเนื้อหา หากเนื้อหาเป็นเนื้อหาสดและไม่มีการระบุตําแหน่ง สตรีมจะเริ่มต้นขึ้นในตําแหน่งถ่ายทอดสด |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง โหลดไม่สําเร็จ ยกเลิกการโหลดแล้ว |
หยุดชั่วคราว
หยุดการเล่นเนื้อหาปัจจุบันชั่วคราว ทริกเกอร์การแจ้งเตือนเหตุการณ์ "สถานะ" ให้กับแอปพลิเคชันของผู้ส่งทั้งหมด
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสของเซสชันสื่อที่จะหยุดชั่วคราว |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอ ซึ่งใช้เพื่อเชื่อมโยงคําขอ/การตอบกลับ |
ประเภท | สตริง | หยุดชั่วคราว (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง |
เรียกดู
กําหนดตําแหน่งปัจจุบันในสตรีม ทริกเกอร์การแจ้งเตือนเหตุการณ์ "สถานะ" ให้กับแอปพลิเคชันของผู้ส่งทั้งหมด หากตําแหน่งที่ระบุอยู่นอกช่วงของตําแหน่งที่ถูกต้องสําหรับเนื้อหาปัจจุบัน โปรแกรมเล่นควรเลือกตําแหน่งที่ถูกต้องให้ใกล้กับตําแหน่งที่ขอมากที่สุด
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสของเซสชันสื่อที่ตั้งค่าตําแหน่งของสตรีม |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | SeeK (ค่าเท่านั้น) |
resumeState | enum (สตริง) | ไม่บังคับ หากไม่ได้ตั้งค่านี้ สถานะการเล่นจะไม่เปลี่ยนแปลง ระบบจะใช้ค่าต่อไปนี้
|
เวลาปัจจุบัน | คู่ | ไม่บังคับ วินาทีนับจากเริ่มต้นเนื้อหา หากเนื้อหาเป็นเนื้อหาสดและไม่มีการระบุตําแหน่ง สตรีมจะเริ่มต้นขึ้นในตําแหน่งถ่ายทอดสด |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง |
หยุด
หยุดการเล่นเนื้อหาปัจจุบัน ทริกเกอร์การแจ้งเตือนเหตุการณ์ "สถานะ" ให้กับแอปพลิเคชันของผู้ส่งทั้งหมด หลังจากคําสั่งนี้ เนื้อหาจะไม่โหลดอีกต่อไปและ MediaSessionId เป็นโมฆะ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสของเซสชันสื่อที่จะหยุดเนื้อหา |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | STOP (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง |
เล่น
เริ่มเล่นเนื้อหาที่โหลดโดยใช้การโหลด การเล่นจะดําเนินต่อไปจากตําแหน่งเวลาปัจจุบัน
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสของเซสชันสื่อสําหรับการเล่นเนื้อหา |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | PLAY (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง |
รับสถานะ
เรียกดูสถานะสื่อ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | ไม่บังคับ รหัสเซสชันสื่อของสื่อที่ควรแสดงสถานะสื่อ หากไม่ได้ระบุก็จะระบุสถานะของรหัสเซสชันสื่อทั้งหมด |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | GET_STATUS (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ข้อความ MediaStatus ถึงผู้ส่งที่ขอ | ไม่มี | ไม่มี | ไม่มี |
ตั้งระดับเสียง
ตั้งค่าระดับเสียงของสตรีมสื่อ ใช้สําหรับเอฟเฟกต์แบบเฟดเข้า/เฟดออกในสตรีมสื่อ (หมายเหตุ: ปริมาณผู้รับจะเปลี่ยนโดยใช้ setVolume ของผู้ส่งเว็บ) ระดับเสียงของสตรีมต้องไม่ใช้ร่วมกับแถบเลื่อนระดับเสียงหรือปุ่มปรับระดับเสียงเพื่อควบคุมระดับเสียงของอุปกรณ์ การเปลี่ยนแปลงระดับเสียงของสตรีมจะไม่ทริกเกอร์ UI ใดๆ บนตัวรับ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสเซสชันสื่อ | จำนวนเต็ม | รหัสเซสชันสื่อของสื่อที่มีการเปลี่ยนแปลงปริมาณสตรีม |
รหัสคําขอ | จำนวนเต็ม | รหัสของคําขอเพื่อเชื่อมโยงคําขอและการตอบกลับ |
ประเภท | สตริง | VOLUME (ค่าเท่านั้น) |
ปริมาณ | ระดับเสียง | ปริมาณสตรีม |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันผู้ส่ง |
คำตอบ | ทริกเกอร์ | การออกอากาศ | ข้อผิดพลาด |
---|---|---|---|
ไม่มี | การเปลี่ยนสถานะผู้รับ | ข้อความการเปลี่ยนสถานะสื่อ | สถานะโปรแกรมเล่นไม่ถูกต้อง |
ข้อความจากผู้รับไปยังผู้ส่ง
ผู้รับจะส่งข้อความ 2 ประเภท ได้แก่
- ข้อผิดพลาด: ข้อความ Unicast ที่ส่งเมื่อมีการตอบกลับข้อผิดพลาดเกี่ยวกับคําขอของผู้ส่ง
- สถานะ: ประกาศข้อความ
- ผลจากการดําเนินการที่เริ่มต้นโดยผู้ส่ง จะมี requestId ของคําขอที่ทําให้เกิดการเปลี่ยนแปลง
- เกิดขึ้นเอง: ตัวอย่างเช่น การเปลี่ยนแปลงที่เกิดขึ้นโดยแอปพลิเคชันในฝั่งผู้รับ RequestId จะเป็น 0
ข้อผิดพลาด: สถานะผู้เล่นไม่ถูกต้อง
ส่งเมื่อดําเนินการตามคําขอของผู้ส่งไม่ได้เพราะโปรแกรมเล่นไม่อยู่ในสถานะที่ถูกต้อง เช่น หากแอปพลิเคชันยังไม่ได้สร้างองค์ประกอบสื่อ
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสคําขอที่สร้างข้อผิดพลาดนี้ |
ประเภท | สตริง | invalid_TEAM_STATE (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |
ข้อผิดพลาด: โหลดไม่สําเร็จ
ส่งเมื่อคําขอโหลดไม่สําเร็จ สถานะของโปรแกรมเล่นจะเป็น "ไม่มีการใช้งาน"
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสคําขอที่สร้างข้อผิดพลาดนี้ |
ประเภท | สตริง | LOAD_Failed (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |
ข้อผิดพลาด: ยกเลิกการโหลดแล้ว
ส่งเมื่อยกเลิกคําขอโหลดแล้ว (ได้รับคําขอโหลดครั้งที่ 2)
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสคําขอที่สร้างข้อผิดพลาดนี้ |
ประเภท | สตริง | LOAD_CANCELLED (ค่าเท่านั้น) |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |
ข้อผิดพลาด: คําขอไม่ถูกต้อง
ส่งเมื่อคําขอไม่ถูกต้อง (เช่น ประเภทคําขอที่ไม่รู้จัก)
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสคําขอที่สร้างข้อผิดพลาดนี้ |
ประเภท | สตริง | invalid_REQUEST (ค่าเท่านั้น) |
เหตุผล | Enum (สตริง) | ค่า:
|
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |
สถานะสื่อ
ส่งหลังจากมีการเปลี่ยนแปลงสถานะหรือหลังจากส่งคําขอสถานะสื่อ ระบบจะส่งเฉพาะออบเจ็กต์ MediaStatus ที่มีการเปลี่ยนแปลงหรือขอเท่านั้น
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
รหัสคําขอ | จำนวนเต็ม | รหัสที่ใช้เพื่อเชื่อมโยงการตอบสนองต่อสถานะนี้กับคําขอที่สร้างขึ้นหรือเป็น 0 หากข้อความสถานะเกิดขึ้นเองทันที (ไม่ทริกเกอร์โดยคําขอของผู้ส่ง) แอปพลิเคชันของผู้ส่งจะสร้างรหัสคําขอที่ไม่ซ้ํากันโดยเลือกหมายเลขแบบสุ่มและเพิ่มหมายเลขอย่างต่อเนื่อง (ระบบจะไม่ใช้ 0) |
ประเภท | สตริง | MEDIA_STATUS (ค่าเท่านั้น) |
สถานะ | สถานะสื่อ[] | อาร์เรย์ของออบเจ็กต์สถานะสื่อ หมายเหตุ: ระบบจะแสดงองค์ประกอบสื่อใน MediaStatus เฉพาะในกรณีที่มีการเปลี่ยนแปลงเท่านั้น |
ข้อมูลที่กําหนดเอง | ออบเจ็กต์ | ไม่บังคับ BLOB เฉพาะแอปพลิเคชันที่กําหนดโดยแอปพลิเคชันของผู้รับ |