บันทึกประจำรุ่นของ Google Cast SDK

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

11 ธันวาคม 2023

เว็บรีซีฟเวอร์ 3.0.0122

  • เพิ่มการรองรับพ็อดโฆษณาและบุฟเฟต์โฆษณาสำหรับ VAST
  • อัปเดต UI ตัวควบคุมสื่อของเครื่องเล่นแคสต์สำหรับอุปกรณ์ Google TV
  • เพิ่มช่อง audioTrackInfo ใหม่ในออบเจ็กต์ Track
  • เพิ่ม cast.framework.system.Message ซึ่งเป็นข้อความที่ได้รับจากหรือส่งถึงผู้ส่งแล้ว
  • เปลี่ยนตรรกะช่วงพักโฆษณาแล้ว ตอนนี้เว็บรีซีฟเวอร์จะสร้างช่วงพัก seek-{timestamp} สังเคราะห์ก็ต่อเมื่อมีช่วงพักมากกว่า 1 ครั้ง ที่ส่งคืนจาก BreakManager#setBreakSeekInterceptor มิเช่นนั้นช่วงพักการค้นหาจะยังคงเท่ากับช่วงพักเดิมในไทม์ไลน์
  • เพิ่มตัวเลือก CastReceiverOptions#shakaVariant เพื่อโหลดเวอร์ชันการแก้ไขข้อบกพร่องของ Shaka Player ใน CAF
  • แก้ไข PlaybackConfig#licenseRequestHandler และ PlaybackConfig#licenseResponseHandler ไม่เป็นที่รู้จักด้วย Shaka สำหรับ HLS เมื่อใช้การเข้ารหัส AES-128
  • แก้ไข ID3Event ที่ไม่เริ่มทำงานเมื่อใช้ Shaka Player
  • แก้ไขแทร็กข้อความที่โหลดด้านข้างเมื่อใช้โฆษณาตอนต้น
  • แก้ไขการแสดงข้อความเมื่อใช้ UITextDisplayer
  • แก้ไขปัญหาการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ต่างๆ สำหรับ VAST, ประเภท MIME และชื่อระบบป้องกันเนื้อหา
  • แก้ปัญหาต่างๆ เกี่ยวกับการบังคับคำบรรยายแทนเสียง
  • แก้ไขรหัสการป้อนข้อมูล EndedReason สำหรับเหตุการณ์ BREAK_CLIP_ENDED เหตุการณ์

4 ธันวาคม 2023

Android Sender 21.4.0 และตัวรับสัญญาณ Android TV 21.0.1

  • เปิดตัว play-services-cast:21.4.0 และ play-services-cast-framework:21.4.0
    • เพิ่ม minSdkVersion เป็น 16 เป็น 19
    • อัปเดตเพื่อใช้ androidx.mediaredirectr:mediaredirectr:1.6.0-beta01 วิธีนี้จะทำให้ MediaRouteButtons แสดงโดยค่าเริ่มต้นเสมอ ซึ่งช่วยลดสถานการณ์ที่การเริ่มต้นการค้นหาอุปกรณ์แคสต์โดยอัตโนมัติโดยที่ผู้ใช้ไม่ได้ดำเนินการใดๆ
    • เพิ่ม CastOptions.Builder#setSessionTransferEnabled เพื่อตั้งค่าว่าแอปพลิเคชันของผู้ส่งควรแสดงอุปกรณ์แคสต์หรือไม่เมื่อเปิดใช้ตัวสลับเอาต์พุต ค่าเริ่มต้นคือ true
    • ระบบจะไม่สร้าง MediaSessions อีกต่อไปเมื่อแอปไม่ได้ตั้งค่า CastMediaOptions หรือตั้งค่า CastMediaOptions เป็น Null
    • แก้ไขข้อผิดพลาด MiniControllerFragment android.view.InflateException ที่อาจเกิดขึ้นเมื่อใช้ FragmentContainerViews
    • เพิ่ม CastButtonFactory#setUpMediaRouteButton เวอร์ชันใหม่ที่ส่งกลับ Tasks ซึ่งแอปสามารถฟังได้เมื่อเกิดข้อยกเว้นหรือข้อยกเว้น เวอร์ชันเก่าที่ไม่ใช้อาร์กิวเมนต์ Executor จะไม่สนใจ ModuleUnavailableException และจะดำเนินการไม่สำเร็จโดยไม่มีการแจ้งเตือน
  • เปิดตัว play-services-cast-tv:21.0.1
    • เพิ่ม minSdkVersion เป็น 16 เป็น 19
    • รุ่นนี้มีการปรับปรุงคุณภาพ

20 กรกฎาคม 2023

iOS Sender 4.8.0

  • ขณะนี้เวอร์ชันต่ำสุดที่ iOS SDK รองรับคือ iOS 13
  • XCFramework รุ่นที่เสถียรครั้งแรก
  • XCFrameworks พร้อมให้ใช้งานผ่าน Cocoapods
  • คืนค่าฟังก์ชันเพื่อควบคุมระดับเสียงด้วยปุ่มปรับระดับเสียงระหว่างการเล่นสื่อ
  • ตอนนี้ปุ่ม "แคสต์" จะยังปรับตามสีแต้มเมื่อใช้ในแถบนำทาง
  • ตอนนี้คุณปรับแต่งสีของชื่อการนำทางโดยใช้ GCKUIStyle API ได้แล้ว
  • แก้ไขปัญหาแถบนำทางแบบโปร่งใสในมุมมองรายการคำบรรยายของแทร็กสื่อ
  • แก้ไขข้อขัดข้องใน XCFramework เบต้า
  • เพิ่ม API เพื่อเชื่อมโยง UIControl กับการดำเนินการไปข้างหน้าหรือกรอกลับ
  • เพิ่มการรองรับการแคสต์ลงในแท็บเล็ต Pixel

6 กรกฎาคม 2023

เว็บรีซีฟเวอร์ 3.0.0111

  • เพิ่มการรองรับการแทรกโฆษณาแบบไดนามิกโดยใช้ BreakManager addBreak(breakData, breakClips, broadCastMediaStatus) และ removeBreakById(breakId)
  • เพิ่มการแยกวิเคราะห์สตริง Subtype รายการในไฟล์ Manifest แบบ Smooth
  • เพิ่มการรองรับคำขอแบบไม่พร้อมกันใน manifestRequestHandler , segmentRequestHandler และ licenseRequestHandler สำหรับ Shaka Player
  • เพิ่มการรองรับคำบรรยายที่บังคับ
  • เพิ่มเวอร์ชัน Shaka เริ่มต้นสำหรับ CAF เป็น v4.3.4
  • อธิบายพารามิเตอร์ setActiveByIds
  • แก้ไขวิธีที่ CAF เลือกแทร็กเสียงที่แตกต่างกัน
  • แก้ไขการแปลงประเภทเนื้อหาคำขอสำหรับตัวกรองคำขอ Shaka
  • เพิ่มความสามารถในการค้นหา CreativeInformation ที่เกี่ยวข้องกับ BreakClip ใน BreakManager getCreativeInfoByClipId(breakClipId)
  • แก้ไขข้อมูลเมตาของสื่อที่ขาดหายไประหว่างการโหลดองค์ประกอบสื่อในอุปกรณ์ที่ควบคุมด้วย DPad
  • เพิ่มพร็อพเพอร์ตี้ hlsSegmentFormat และ hlsVideoSegmentFormat ไปยัง BreakClip .
  • แก้ไขการเปรียบเทียบประเภท MIME ที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่โดยใช้ MPL
  • แก้ไขการบัฟเฟอร์แบบไม่สิ้นสุดของ HLS (ที่ใช้ TS) แบบสดเมื่อโหลดโดยใช้ Shaka Player
  • แก้ไขลักษณะการทำงาน PlayerDataBinder ของเหตุการณ์ IS_AT_LIVE_EDGE_CHANGED
  • แก้ไขการวนซ้ำที่ไม่มีที่สิ้นสุดเมื่อข้อมูลไม่เพียงพอในกลุ่ม TS โดยใช้ MPL
  • เพิ่ม error.stack สำหรับข้อผิดพลาด Shaka Player
  • เปลี่ยนไปใช้ช่อง audioMimeType แทน audioCodec จากออบเจ็กต์แทร็กของ Shaka Player เพื่อป้อนข้อมูลในช่อง cast.framework.messages.Track.trackContentType สำหรับแทร็กรูปแบบต่างๆ
  • เพิ่ม shaka.extern.track.label ไปยัง cast.framework.messages.Track.name สำหรับแทร็ก Shaka Player แล้ว
  • ขยายออบเจ็กต์ cast.framework.stats.Stats เพื่อรวมช่องที่มีอยู่ใน shaka.extern.Stats แล้ว
  • คำนวณเวลาแสดงสื่อสำหรับเนื้อหาที่มีช่วงพักแบบฝังที่ขยาย

28 มีนาคม 2023

Android Sender 21.3.0 และตัวรับสัญญาณ Android TV 21.0.0

  • เปิดตัว play-services-cast:21.3.0 และ play-services-cast-framework:21.3.0
    • ตอนนี้มีการใช้ NotificationManager เพื่อโพสต์การแจ้งเตือนสื่อของ Cast แทน Foreground Service
    • เพิ่ม CastReasonCodes#CAST_CANCELLED ใหม่เพื่อระบุว่าระบบยกเลิกเซสชันการแคสต์แล้ว
  • เผยแพร่ play-services-cast-tv:21.0.0
    • แก้ไขคำอธิบายประกอบที่เป็นค่าว่างได้สำหรับ MediaManager

17 ตุลาคม 2022

เว็บรีซีฟเวอร์ 3.0.0105

10 ตุลาคม 2022

Android Sender 21.2.0

8 สิงหาคม 2022

Android Sender 21.1.0 และตัวรับสัญญาณ Android TV 20.0.0

  • เปิดตัว play-services-cast:21.1.0 และ play-services-cast-framework:21.1.0
    • เลิกใช้งาน CastContext#getSharedInstance(Context) แล้ว ให้ใช้ CastContext#getSharedInstance(Context, Executor) แทน ซึ่งจะแสดงผล Task API และ ModuleUnavailableException สำหรับจัดการข้อยกเว้นเมื่อ Cast SDK โหลดโมดูลแคสต์ภายในไม่สำเร็จ
    • เลิกใช้งาน ApplicationMetadata#getImages() แล้ว ใช้ ApplicationMetadata#getIconUrl() แทน ซึ่งจะแสดงผลรูปภาพของแอปพลิเคชันที่ตั้งค่าไว้ในคอนโซลของนักพัฒนาซอฟต์แวร์ Cast
    • แก้ไขข้อผิดพลาด ConcurrentModificationException ที่อาจเกิดขึ้นเมื่อลงทะเบียนและยกเลิกการลงทะเบียน MediaQueue.Callbacks
    • แก้ไขสตรีมแบบสด MediaInfo#getStreamDuration() แล้ว
    • แก้ไขข้อจำกัดของแทรมโพลีนการแจ้งเตือนสำหรับ MediaNotificationService บน Android S
    • แก้ปัญหาการอ้างอิงกิจกรรมของ CastContext เกี่ยวกับการรั่วไหล
    • แก้ไขข้อบกพร่องที่ทำให้ภาพพื้นหลังคมชัดแสดงขึ้นระหว่างโฆษณา แทนที่จะเป็นแบบเบลอ
  • เผยแพร่ play-services-cast-tv:20.0.0

31 มีนาคม 2022

เว็บรีซีฟเวอร์ 3.0.0103, MPL Player 1.0.0.113

  • อัปเกรดโปรแกรมเล่น Shaka เวอร์ชันเริ่มต้นเป็น 3.2.2
  • เพิ่ม API ใหม่ cast.framework.PlaybackConfig#shakaConfig เพื่ออนุญาตการลบล้างเวอร์ชันโปรแกรมเล่น Shaka และตัวเลือก Shaka อื่นๆ
  • เพิ่ม API ใหม่ชื่อ cast.framework.ui.Controls#hasMediaControlsOverlay() เพื่อค้นหาว่าการวางซ้อนตัวควบคุมสื่อจะแสดงผลที่ด้านบนของแอปพลิเคชันหรือไม่
  • เพิ่มสไตล์ใหม่ cast.framework.ui.ControlsButton.LIKE_HEART สำหรับการดำเนินการ "ชอบ" ของผู้ใช้
  • ตอนนี้ค่า currentMediaTime ของข้อมูลเหตุการณ์ cast.framework.events.EventType.BREAK_CLIP_ENDED จะแสดงเวลาปัจจุบันของคลิปพักล่าสุดขณะที่เกิดเหตุการณ์ขึ้น
  • เพิ่มเมธอด cast.framework.PlayerManager#getRawCurrentTimeSec ที่แสดงผลเวลาสื่อขององค์ประกอบสื่อ
  • เพิ่ม cast.framework.NetworkRequestInfo#timeoutInterval เพื่อระบุระยะหมดเวลาของคำขอ HTTP สำหรับคำขอโปรแกรมเล่นแล้ว
  • แก้ไขข้อบกพร่องของ MPL ในการถอดรหัสคำบรรยายแทนเสียง CEA 608/708 สำหรับสตรีม A/V ที่ถอดรหัส
  • แก้ไขตรรกะการแยกวิเคราะห์การประทับเวลา MPL WebVTT ให้ยอมรับตัวเลขมากกว่า 2 หลักสำหรับค่าชั่วโมง

9 ธันวาคม 2021

ผู้ส่ง Android 21.0.0

  • เพิ่มการรองรับความสามารถในการเว้นว่างที่ดียิ่งขึ้นสำหรับ Kotlin โดยทำให้การละเมิดความปลอดภัย Null เป็นข้อผิดพลาด ส่วนนักพัฒนา Java จะไม่พบผลกระทบใดๆ นักพัฒนาซอฟต์แวร์ Kotlin อาจเห็นความล้มเหลวของบิลด์ใหม่หากมีโค้ดที่มีอยู่ซึ่งไม่ปลอดภัยต่อค่าว่าง

19 พฤศจิกายน 2021

ผู้ส่ง iOS 4.7.0

16 พฤศจิกายน 2021

ผู้ส่ง Android 20.1.0

  • หมายเหตุ: แอปที่กำหนดเป้าหมายเป็น Android 12 ต้องอัปเดตเป็น Android Sender 20.1.0 เพื่อป้องกันไม่ให้รันไทม์ขัดข้อง
  • การปรับปรุงคิว
    • เพิ่มโค้ดเรียกกลับ itemsReorderedAtIndexes ใหม่ไปยัง MediaQueue ใหม่ที่จะเรียกใช้เมื่อมีการเรียงลำดับคิวใหม่
    • เพิ่มการรองรับสำหรับการเรียงอันดับของคำสั่งคิว
  • ทำให้พารามิเตอร์ customData ใน RemoteMediaClient#queueSetRepeatMode เป็น Null ได้
  • เราเลิกใช้งานฟีเจอร์การแสดงผลระยะไกลแล้ว
  • minSdkVersion เพิ่มขึ้นจาก 14 เป็น 16

26 ตุลาคม 2021

เว็บรีซีฟเวอร์ 3.0.0102

  • อัปเกรดเป็นโปรแกรมเล่น Shaka v3.0.13 (ซึ่งจะช่วยแก้ไขปัญหาต่างๆ ที่รายงานก่อนหน้านี้)
  • เพิ่มการรองรับ รูปภาพรองบนจออัจฉริยะและ Chromecast
  • แก้ไขปัญหาที่คำบรรยายแทนเสียงไม่แสดงสำหรับสตรีมที่บัฟเฟอร์เนื่องจากเกิดข้อผิดพลาดในตรรกะที่ใช้ตรวจหาแทร็กที่ซ้ำกัน
  • แก้ไขปัญหาที่การติดต่อกลับสำหรับข้อผิดพลาดของผู้รับไม่เริ่มทำงานเมื่อ LOAD_BY_ENTITY แสดงผลข้อผิดพลาด
  • เพิ่มการรองรับตัวแปลงสัญญาณเสียง AAC (HE-AAC) ประสิทธิภาพสูงสำหรับสตรีมการนำส่ง
  • แก้ไขข้อบกพร่องที่ PlayerManager.getStats() ไม่แสดงผลค่าความสูงและความกว้างที่ถูกต้องสำหรับ
  • นำข้อมูล VAST และ VMAP ออกจากข้อความ MediaStatus เพื่อหลีกเลี่ยงการดำเนินการเพิ่มเติมที่อาจทำให้ผู้ส่งถูกตัดการเชื่อมต่อจากตัวรับ
  • แก้ไขปัญหาที่ระบุ endedReason กับผู้ส่งเมื่อข้ามโฆษณา
  • แก้ไขปัญหาที่ระบบนำช่วงพักโฆษณาออกจากคิวการโหลดก่อนที่จะเล่น
  • เพิ่มช่อง cast.framework.message.QueueChange#reorderItemIds ใหม่ซึ่งมีลิสต์รายการคิวที่ได้รับผลกระทบจากการดำเนินการ QUEUE_CHANGE
  • ลดบัฟเฟอร์ในสตรีมแบบสด HLS ในรูปแบบ MPL เมื่อสลับระหว่างแทร็กเสียง เสียงกับวิดีโอจึงซิงค์กันอยู่เสมอ
  • แก้ไขการแยกวิเคราะห์สตรีม HLS ใน MPL ที่มีคำบรรยายแทนเสียง CEA608/CEA708
  • ระบบจะซ่อนตัวควบคุมสื่อสำหรับ Chromecast พร้อม Google TV เมื่อมีการหยุดสื่อชั่วคราวนานกว่า 5 วินาที

26 พฤษภาคม 2021

ผู้ส่ง iOS 4.6.1

  • แก้ปัญหาที่เซสชันการแคสต์ในเบื้องหลังถูกระงับสำหรับแอปพลิเคชันที่อนุญาตการดำเนินการในเบื้องหลัง

17 พฤษภาคม 2021

ผู้ส่ง iOS 4.6.0

  • เปลี่ยนลักษณะการทำงานเริ่มต้นของปุ่ม "แคสต์" ให้แสดงทุกครั้งเมื่อเชื่อมต่อ Wi-Fi
  • เพิ่มกล่องโต้ตอบความช่วยเหลือใหม่ ซึ่งจะแสดงขึ้นเมื่อผู้ใช้แตะปุ่ม "แคสต์" และไม่พบอุปกรณ์ใดๆ
  • เลิกใช้งาน GCKUICastButton::triggersDefaultCastDialog API แล้ว
  • เพิ่มการรองรับการปรับแต่งกล่องโต้ตอบในแบบเดียวกันสำหรับแอปที่ใช้ UI ที่กำหนดเองผ่าน API ใหม่ GCKUICastButtonDelegate
  • เพิ่มการรองรับโหมดมืดใน iOS 13 ขึ้นไป
  • เพิ่มการปรับแต่งเครื่องหมายโฆษณาลงใน GCKUIStyleAttributes แล้ว
  • เพิ่มการรองรับ hlsSegmentFormat และ hlsVideoSegmentFormat ในสื่อแล้ว
  • แก้ไขข้อบกพร่องและปรับปรุงประสิทธิภาพ

29 เมษายน 2021

เว็บรีซีฟเวอร์ 3.0.0096

20 เมษายน 2021

Android Sender 20.0.0 และตัวรับสัญญาณ Android TV 18.0.0

  • เผยแพร่ play-services-cast:20.0.0 และ play-services-cast-framework:20.0.0
    • ลบ GameManager และ API ที่เกี่ยวข้องแล้ว เราเลิกใช้งานฟีเจอร์ดังกล่าวมาตั้งแต่ปี 2017
    • เพิ่มคลาส SessionState ไปยังไลบรารีของไคลเอ็นต์ Cast แล้ว
    • เพิ่ม CastReasonCodes เพื่อให้คำอธิบายโดยละเอียดของ CastStatusCodes ใช้วิธีการ CastContext#getCastReasonCodeForCastStatusCode(int) เพื่อแปลจาก CastStatusCodes เป็น CastReasonCodes
    • เพิ่ม HlsSegmentFormat และ HlsVideoSegmentFormat ลงใน MediaInfo.Builder แล้ว
    • ทำเครื่องหมาย foregroundServiceType จาก MediaNotificationService รายการเป็น mediaPlayback
    • อัปเดตทรัพยากร Dependency บน com.google.android.datatransport:transport-api เป็น เวอร์ชันล่าสุดแล้ว
    • เพิ่มตัวสร้าง MediaLoadRequestData.Builder เพื่อสร้างจากออบเจ็กต์ MediaLoadRequestData
    • แก้ไขปัญหาเกี่ยวกับปุ่มเล่น/หยุดชั่วคราวในมินิเพลเยอร์เมื่อเปลี่ยนจาก VOD เป็นสตรีมแบบสด
    • ใช้ MediaIntentReceiver#ACTION_DISCONNECT สำหรับการแจ้งเตือนสื่อของ Cast แล้ว
  • เปิดตัว play-services-cast-tv:18.0.0:

5 เมษายน 2021

เว็บรีซีฟเวอร์ 3.0.0095

  • อัปเกรดโปรแกรมเล่น Shaka เป็น 3.0.10
  • ตอนนี้ปุ่ม "แคสต์" จะแสดงโดยค่าเริ่มต้นเมื่อรองรับคำสั่งสื่อ STREAM_TRANSFER
  • เพิ่มแถบคำแนะนำที่ด้านล่างของ UI การเรียกดูสื่อ แถบคำแนะนำมีชิปแบบอินเทอร์แอกทีฟที่เมื่อเลือกแล้วจะเล่นรายการสื่อหรือเลื่อนดูรายการสื่อที่มีอยู่ได้ ชิปแต่ละรายการจะแมปกับคำสั่ง Google Assistant ที่พร้อมใช้งานด้วย ในตอนนี้ ระบบจะรองรับชิปคำแนะนำเมื่อตั้งค่าภาษาของระบบเป็นภาษาอังกฤษหรือญี่ปุ่นเท่านั้น
  • แก้ไขข้อบกพร่องใน Chromecast พร้อม Google TV ที่แสดงการวางซ้อนตัวควบคุมสื่อเมื่อแคสต์เนื้อหาของรูปภาพไปยังตัวรับเริ่มต้น
  • เพิ่มการรองรับกิจกรรม TRACKS_CHANGED

18 ธันวาคม 2020

เว็บรีซีฟเวอร์ 3.0.0085

  • เพิ่มตัวเลือกใน CastReceiverOptions เพื่อปิดใช้การโหลด Shaka และ MPL

3 ธันวาคม 2020

ผู้ส่ง iOS 4.5.3

  • แก้ไขข้อผิดพลาดเวลาที่ใช้ในการโหลด "สัญลักษณ์ที่ไม่ได้กำหนดสำหรับสถาปัตยกรรม arm64" สำหรับ GCKCredentialsData
  • แก้ไขข้อผิดพลาดของคอมไพเลอร์สำหรับความสามารถในการเว้นว่างที่ขัดแย้งกันใน GCKCredentialsData
  • ตอนนี้ระบบจะบันทึกข้อความเตือนหากรายการบริการ Bonjour ที่จำเป็นหายไปจาก Info.plist

4 พฤศจิกายน 2020

iOS Sender 4.5.2

  • อัปเดตเวอร์ชันขั้นต่ำของไลบรารี Protobuf เป็น 3.13 ใน CocoaPods การใช้ Protobuf เวอร์ชันก่อนหน้าจะทำให้ SDK ขัดข้อง
  • รุ่นนี้พิเศษสำหรับ CocoaPods และใช้ไบนารีเดียวกันกับ v4.5.1

13 ตุลาคม 2020

ผู้ส่ง iOS 4.5.1

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

14 กันยายน 2020

เว็บรีซีฟเวอร์

  • อัปเกรดโปรแกรมเล่น Shaka เป็น 2.5.16

iOS Sender 4.5.0

  • เพิ่มการรองรับการเปลี่ยนแปลงการค้นพบอุปกรณ์แคสต์ใน iOS 14 ซึ่ง ต้องขอสิทธิ์อย่างชัดแจ้งจากผู้ใช้เมื่อแคสต์ครั้งแรก ดูข้อมูลเพิ่มเติมได้ที่การแคสต์ครั้งแรกใน iOS 14
  • อัปเดตการรองรับ SDK ขั้นต่ำสำหรับ iOS 10 แล้ว

8 กันยายน 2020

Web Sender

31 สิงหาคม 2020

เว็บรีซีฟเวอร์

  • เพิ่มการรองรับ #EXT-X-DATERANGE ใน HLS / EventStream ใน DASH

3 สิงหาคม 2020

ผู้ส่ง iOS 4.4.8

29 กรกฎาคม 2020

Android Sender 19.0.0 และตัวรับสัญญาณ Android TV 17.0.0

13 กรกฎาคม 2020

เว็บรีซีฟเวอร์

  • ปรับปรุงการตรวจหาหมวดหมู่สื่อสำหรับ UI เริ่มต้น (วิดีโอกับเสียง)
  • เพิ่มการรองรับเวลาสัมบูรณ์ในการถ่ายทอดสดจาก Shaka Player
  • แก้ไขปัญหาเกี่ยวกับข้อบกพร่องของเสียงในอุปกรณ์ Nest Hub Max
  • อัปเกรดโปรแกรมเล่น Shaka เป็น 2.5.12

4 พฤษภาคม 2020

เว็บรีซีฟเวอร์

  • ค่าระยะหมดเวลาสำหรับคำสั่ง Google Assistant สามารถกำหนดค่าได้แล้ว
  • รหัสข้อผิดพลาด MPL โดยละเอียดจะแสดงในเหตุการณ์ข้อผิดพลาด
  • คุณบังคับใช้คำสั่งสื่อที่รองรับได้แล้วโดยใช้แฟล็ก enforceSupportedCommands
  • แก้ไขคำสั่งที่รองรับซึ่งรายงานระหว่างช่วงพักการเล่น
  • แก้ไขปัญหาเกี่ยวกับคำขอโหลด Assistant แบบสุ่ม
  • แก้ไขข้อบกพร่องในค่า getStats

12 มีนาคม 2020

เว็บรีซีฟเวอร์

  • เพิ่มความสามารถของอุปกรณ์ใหม่ IS_CBCS_SUPPORTED ไปยัง deviceCapabilities แล้ว
  • อัปเกรดโปรแกรมเล่น Shaka เป็น 2.5.8

27 กุมภาพันธ์ 2020

ผู้ส่ง iOS เวอร์ชัน 4.4.7

  • แก้ไขปุ่มปรับระดับเสียงสำหรับแอปที่ไม่ได้ใช้คอมโพเนนต์ UI ใดๆ จาก SDK
  • แก้ไขปัญหาเกี่ยวกับป้ายกำกับ currentTime ในตัวควบคุมแบบขยายเมื่อกดปุ่มไปข้างหน้าหรือข้างหลังซ้ำๆ
  • รายการสื่อใน GCKMediaQueue จะยังคงอยู่หลังจากที่แอปย้ายไปที่เบื้องหลัง
  • การอัปเดตการปรับแต่ง UI:
    • คุณปรับแต่งแถบความคืบหน้าของตัวควบคุมขนาดเล็กได้แล้ว
    • ปรับแต่งสีพื้นหลังของแถบนำทางและแถบเครื่องมือของกล่องโต้ตอบแคสต์ได้แล้ว
    • แก้ไขปัญหา UI ของ iPhone X โดยเฉพาะ
  • แก้ไขปัญหา 2-3 ข้อที่ทำให้เกิดข้อขัดข้องและข้อขัดข้อง

24 กุมภาพันธ์ 2020

ผู้ส่ง Android 18.1.0

22 มกราคม 2020

เว็บรีซีฟเวอร์

  • แก้ไขปัญหาที่มีการเผยแพร่สถานะสื่อหลายรายการเมื่อเปลี่ยนคำสั่งที่รองรับ

ตัวรับ v2

  • ปรับปรุงการเลือกอัตราบิตสำหรับโฆษณา VAST

MPL

7 มกราคม 2020

เว็บรีซีฟเวอร์

  • เพิ่มการรองรับข้อมูลเมตาที่กำหนดเวลาของ ID3 ใน cast.framework.events.EmsgEvent นอกจากนี้ ระบบยังส่ง EmsgEvent สําหรับเนื้อหา HLS/CMAF ด้วย
  • แก้ไขปัญหาที่ข้อมูลผู้เล่นหายไปในช่วง PLAYER_LOAD_COMPLETE ขณะเปลี่ยนไปยังเซสชันสื่อใหม่
  • แก้ไขปัญหาที่ไอคอนสื่อทับซ้อนกับหมายเลขคลิปช่วงพักและการนับถอยหลัง
  • แก้ปัญหาที่การนับถอยหลังของคลิปพักแรกจะแสดง 0:00 เสมอ
  • อัปเกรดโปรแกรมเล่น Shaka เป็น 2.5.6

เว็บรีซีฟเวอร์ v2

  • เพิ่มความสามารถของอุปกรณ์ใหม่ IS_DEVICE_REGISTERED ไปยัง deviceCapabilities แล้ว หากตั้งค่าแล้ว อุปกรณ์ Cast จะลงทะเบียน ใน Cast Developer Console เพื่อการแก้ไขข้อบกพร่อง
  • แก้ไขปัญหาการโหลดหยุดทำงาน
  • ตอนนี้ระบบจะส่งข้อความแสดงข้อผิดพลาดของสื่อแต่ละรายการสำหรับรายการที่ล้มเหลวทุกรายการในคิว

MPL

  • แก้ไขปัญหาสตรีมแบบสดที่เสียงจะเล่นต่อไปเป็นระยะเวลาหนึ่งหลังจากได้รับข้อความหยุด
  • แก้ไขปัญหาที่อาร์ติแฟกต์การบีบอัดวิดีโอจะแสดงระหว่างการเปลี่ยนแปลงระดับคุณภาพ
  • แก้ไขปัญหาที่สตรีม HLS โดยใช้กลุ่ม *.m4s ล้มเหลว

5 ธันวาคม 2019

ผู้ส่ง Android 18.0.0

  • เพิ่ม setMediaSessionEnabled สำหรับนักพัฒนาแอปในการเปิดและปิดใช้เซสชันสื่อที่สร้างโดย Cast SDK
  • เปลี่ยนวิธีแสดงการแจ้งเตือนของสื่อระหว่างเซสชันการแคสต์ หากเปิดใช้การแจ้งเตือนสื่อ การแจ้งเตือนจะแสดงระหว่างเซสชันการแคสต์เสมอ ซึ่งก่อนหน้านี้จะแสดงเมื่อแอปอยู่ในเบื้องหลังเท่านั้น
  • เปลี่ยนคลาสที่เกี่ยวข้องกับสื่อบางรายการให้ใช้อินเทอร์เฟซ Parcelable

11 พฤศจิกายน 2019

ผู้ส่ง iOS เวอร์ชัน 4.4.6

  • แก้ไขปัญหาเกี่ยวกับ iOS 9 เวอร์ชันต่ำสุดที่รองรับ

7 ตุลาคม 2019

เว็บรีซีฟเวอร์

  • บทบาทแทร็กของผู้ที่เห็นโฆษณาซึ่งเป็นส่วนหนึ่งของข้อมูลเมตาของแทร็ก
  • อัปเกรด Shaka Player เป็นเวอร์ชัน 2.5.5 แล้ว

23 กันยายน 2019

ผู้ส่ง iOS เวอร์ชัน 4.4.5

  • ปรับปรุงการรองรับการค้นหาอุปกรณ์แคสต์และการจัดการเซสชัน
  • เพิ่มคำสั่งสื่อใหม่ไปยัง GCKMediaStatus
  • เพิ่มพร็อพเพอร์ตี้ whenSkippable ใน GCKAdBreakStatus แล้ว
  • การแก้ไข UI สำหรับโฆษณาและ iOS 13

11 กันยายน 2019

ผู้ส่ง Android 17.1.0

9 กันยายน 2019

เว็บรีซีฟเวอร์

  • ตอนนี้ข้อมูลเมตาประเภท TV_SHOW มีตัวอย่าง "เล่นต่อ" ในโปรแกรมเล่นเริ่มต้น หากมีการโหลดรายการถัดไปล่วงหน้า
  • เพิ่มคลาส ContentRating ไปยังเนมสเปซ cast.framework.messages
  • อัปเดตชื่อเสียง UI เริ่มต้นเพื่อให้ metadata.artist มีลำดับความสำคัญเหนือ metadata.albumArtist
  • เพิ่มการรองรับค่า StartTime ที่เป็นค่าลบเพื่อระบุเวลาเริ่มต้นที่สัมพันธ์กับสิ้นสุดเนื้อหาหรือปลายทางแบบสด
  • การเรียกดูสื่อ:
    • ขณะนี้ลิ้นชักการเรียกดูสื่อจะถูกซ่อนโดยอัตโนมัติหลังจากที่ผู้ใช้ไม่มีการใช้งานเป็นเวลา 30 วินาที
    • เพิ่มปุ่มเล่น/หยุดชั่วคราวและภาพขนาดย่อของรายการสื่อที่มุมขวาบนของ การวางซ้อนการเรียกดูสื่อ
    • อัปเดตลักษณะการทำงานของรายการเรียกดูสื่อ ตอนนี้การเลื่อนแนวนอนจะรีเซ็ตไปยังตำแหน่งซ้ายสุดเริ่มต้นทุกครั้งที่มีการตั้งค่าเนื้อหาการเรียกดูสื่อ
  • แก้ไขข้อบกพร่อง:
    • หน่วงเวลาการแก้ไขสัญญาสิ้นสุด BasePlayer เพื่ออนุญาตให้เหตุการณ์ขององค์ประกอบสื่อเริ่มทำงาน
    • จัดการข้อผิดพลาดในการโหลดสำหรับการโหลดโฆษณาล่วงหน้า
    • ตอนนี้ลายน้ำจะแสดงพร้อมกับข้อมูลเมตาที่เหลือ
    • UI เสียงเริ่มต้นใน Chromecast เป็นไปตามสไตล์ของ .progressBar
    • กำจัดหน้าจอที่ไม่มีการใช้งานก่อนที่จะโหลดและระหว่างการเล่นรายการสื่อถัดไป
    • คลังการค้นหาแบบคงที่สำหรับเนื้อหา Dash

เว็บรีซีฟเวอร์ v2

  • เพิ่มคลาส ContentRating ไปยังเนมสเปซ cast.receiver.media
  • แก้ไขข้อบกพร่องที่ข้อมูลข้อผิดพลาดเผยแพร่อย่างไม่ถูกต้องเมื่อมีหลายรายการในคิว

ไลบรารีโปรแกรมเล่นสื่อ

  • เพิ่มแอตทริบิวต์ HLS #EXT-X-MEDIA ลงใน API
  • แก้ไขข้อบกพร่อง:
    • แก้ไขปัญหาที่การดำเนินการนำ SourceBuffer ออกไม่สำเร็จ ซึ่งทำให้แทร็กเสียงเปลี่ยนไปเป็นการเล่นขัดข้อง
    • แก้ไขปัญหาการแยกวิเคราะห์เมื่อระบุประเภทรูปแบบเสียงที่แพ็กไว้ (เช่น *.ec3) แต่ใช้กลุ่มที่ใช้ MPEG-4 (เช่น *.mp4, *.mp4a เป็นต้น)
    • แก้ไขปัญหา HLS ที่มีการแสดงคำบรรยายแทนเสียง CEA608 ในตัวโดยมีเวลาในการตอบสนองที่เห็นได้ชัด
    • แก้ไขเนื้อหา HLS และ Smooth ที่ไม่มีเสียงโหลดไม่สำเร็จ

27 สิงหาคม 2019

Web Sender

  • ตอนนี้ Web Sender ใช้ไวยากรณ์องค์ประกอบที่กำหนดเอง v1 ใหม่ได้แล้ว เวอร์ชันนี้จะแทนที่ v0 ซึ่งเลิกใช้งานแล้ว
  • แก้ไขเหตุการณ์ที่มีการเปลี่ยนแปลงสำหรับ breakTime, breakClipTime และ liveSeekableRange โดยใช้ฟังก์ชัน getEstimatedBreakTime, getEstimatedBreakClipTime และ getLiveSeekableRange ใหม่ที่เพิ่มลงใน Chrome M77

12 สิงหาคม 2019

ผู้ส่ง iOS เวอร์ชัน 4.4.4

  • ประสบการณ์การใช้งานที่ดีขึ้นใน iOS 13
  • ปรับปรุงการรองรับการค้นพบอุปกรณ์แคสต์

30 กรกฎาคม 2019

เว็บรีซีฟเวอร์

  • อัปเกรด Shaka Player เป็นเวอร์ชัน 2.5.1 แล้ว
  • แก้ปัญหาที่การวางซ้อนข้อมูลเมตาหายไปเร็วเกินไปในระหว่างการโหลดเนื้อหา
  • แก้ไขการจัดการการปฏิเสธในตัวตรวจจับการโหลดเพื่อล้างสถานะการโหลด
  • อัปเดต setBrowseContent ให้เป็นค่าว่างได้
  • แก้ปัญหาที่เวลาปัจจุบันที่รายงานไม่ถูกต้องเมื่อกรอช่วงพักโฆษณา
  • เพิ่มการสนับสนุนสำหรับ ignoreTtmlPositionInfo เพื่อละเว้นการกำหนดตำแหน่งคำบรรยาย TTML
  • ปรับปรุงการสนับสนุนสำหรับการจัดการข้อผิดพลาดในการโหลด:
    • หลีกเลี่ยงการเริ่มทำงาน MediaFinishedEvent หลายรายการ
    • ทริกเกอร์การติดต่อกลับแสดงข้อผิดพลาดของเครื่องมือจัดการสื่อเพื่อล้างข้อผิดพลาดในการโหลดโปรแกรมเล่น

22 กรกฎาคม 2019

ผู้ส่ง iOS เวอร์ชัน 4.4.3

  • ปรับปรุงการรองรับการจัดการข้อผิดพลาดในการโหลดโดยระบุ error_reason
  • เผยแพร่ SDK เวอร์ชันที่ไม่มีโหมดผู้มาเยือน

17 มิถุนายน 2019

ผู้ส่ง Android 17.0.0

  • SDK ล่าสุดเปลี่ยนจากไลบรารีการสนับสนุนของ Android เป็นไลบรารี Jetpack (AndroidX) ไลบรารีจะไม่ทำงานจนกว่าคุณจะทำการเปลี่ยนแปลงต่อไปนี้ในแอป
    • อัปเกรด com.android.tools.build:gradle เป็น v3.2.1 ขึ้นไป
    • โปรดอัปเกรด compileSdkVersion เป็น 28 ขึ้นไป
    • อัปเดตแอปเพื่อใช้ Jetpack (AndroidX) ทำตามวิธีการในการย้ายข้อมูลไปยัง AndroidX
  • ดูข้อมูลเพิ่มเติมได้ที่บันทึกประจำรุ่นของ Google API สำหรับ Android

10 มิถุนายน 2019

เว็บรีซีฟเวอร์

  • เปิดตัวการรองรับการเรียกดูสื่อ ซึ่งเป็นฟีเจอร์ใหม่สำหรับการค้นพบเนื้อหาบนจออัจฉริยะ
  • เพิ่มการแปลภาษาใน UI เริ่มต้นสำหรับภาษาใหม่ 9 ภาษา ดังนี้
    • เดนมาร์ก
    • อังกฤษ (สหราชอาณาจักร)
    • อังกฤษ (อินเดีย)
    • อังกฤษ (สิงคโปร์)
    • ฝรั่งเศส (แคนาดา)
    • อิตาลี
    • นอร์เวย์
    • ดัตช์
    • สวีเดน
  • นำมุมโค้งมนออกจากปกอัลบั้มสำหรับ UI ระยะไกล
  • แก้ไขข้อบกพร่องสำหรับการถ่ายทอดสดและพื้นที่อื่นๆ

ผู้ส่ง iOS เวอร์ชัน 4.4.2

  • โหมดผู้มาเยือน
    • เพิ่มการสนับสนุนสำหรับตัวเลือก "เปิดใช้โหมดผู้มาเยือน" จาก Play Developer Console
    • แก้ไขปัญหาการจัดการเซสชันโหมดผู้มาเยือน
  • การแก้ไขข้อบกพร่อง
    • แก้ไขปัญหาเกี่ยวกับการแปลที่เปิดตัวไปใน v4.4.1

24 เมษายน 2019

ผู้ส่ง iOS เวอร์ชัน 4.4.1

  • เปิดตัวการรองรับสตรีมแบบสดในเวอร์ชันอัลฟ่า ดูรายละเอียดได้ที่คู่มือนักพัฒนาซอฟต์แวร์
    • เพิ่มโครงสร้างข้อมูลและแอตทริบิวต์ใหม่สำหรับสถานะของสตรีมแบบสด
    • เพิ่มคีย์ GCKMediaMetadata ใหม่แล้ว
    • เพิ่มคำสั่งสื่อสตรีมแบบสดแล้ว
      • [GCKRemoteMediaClient ไม่สามารถโหลดMediaWithLoadRequestData:]
      • [GCKRemoteMediaClientความยินยอมด้วยตัวเลือก:]
    • ปรับปรุง UI ตัวควบคุมแบบขยายเพื่อรองรับสตรีมแบบสด
      • เปลี่ยนเลย์เอาต์และรูปลักษณ์ของตัวควบคุมแบบขยาย
  • การแก้ไขข้อบกพร่อง
    • แก้ไขส่วนล่างของ GCKUICastContainerViewController ใน iPhone X
    • แก้ไขปัญหาการเชื่อมต่อใหม่เมื่อระบบปฏิบัติการทำกิจกรรมเครือข่ายจำนวนมาก
    • แก้ไขข้อขัดข้องในการเริ่มต้นป้ายกำกับการช่วยเหลือพิเศษด้วย GCKUICastButton

23 เมษายน 2019

เว็บรีซีฟเวอร์

  • เปิดตัวการรองรับสตรีมแบบสดในเวอร์ชันอัลฟ่า ดูรายละเอียดได้ที่คู่มือนักพัฒนาซอฟต์แวร์
    • อัปเดต UI ให้รองรับสตรีมแบบสด รวมถึงสัญญาณบอกสถานะการถ่ายทอดสด
  • เพิ่มช่อง mediaCategory ในสถานะสื่อเพื่อระบุว่าสื่อเป็นวิดีโอ เสียง หรือรูปภาพ
  • การแก้ไขข้อบกพร่อง
    • แก้ไขการใช้งานค่าที่แสดงผล overrideConfig.segmentHandler แล้ว

ไลบรารีโปรแกรมเล่นสื่อ

  • เพิ่มการรองรับตัวแปลงรหัส HEVC ใน HLS ใน MPL

Web Sender

ผู้ส่ง Android 16.2.0

  • เปิดตัวการรองรับสตรีมแบบสดในเวอร์ชันอัลฟ่า ดูรายละเอียดได้ที่คู่มือนักพัฒนาซอฟต์แวร์
    • เพิ่มโครงสร้างข้อมูลและแอตทริบิวต์ใหม่สำหรับสถานะของสตรีมแบบสด
    • เพิ่มคีย์ MediaMetadata ใหม่แล้ว
    • เพิ่มคำสั่งสื่อสตรีมแบบสดแล้ว
      • RemoteMediaClient#load(MediaLoadRequestData) [ข้อมูลคำขอสื่อระยะไกล (MediaLoadRequestData))
      • RemoteMediaClient#seek(MediaSeekOptions)
    • ปรับปรุง UI ตัวควบคุมแบบขยายเพื่อรองรับสตรีมแบบสด
      • เพิ่มการรองรับสตรีมแบบสดในวิดเจ็ต UI ตัวควบคุมที่ขยายแล้ว
      • เปลี่ยนเลย์เอาต์และรูปลักษณ์ของตัวควบคุมแบบขยาย
      • เปิดตัววิดเจ็ต CastSeekBar ที่ใช้ร่วมกับสตรีมแบบสดได้เพื่อแทนที่ SeekBar แบบเนทีฟ
      • แก้ไขExpandedControllerActivity เพื่อใช้ CastSeekBar แทน SeekBar เพื่อความเข้ากันได้กับสตรีมแบบสด ตอนนี้ExpandedControllerActivity#getSeekBar() เลิกใช้งานแล้วและจะแสดงอินสแตนซ์จำลอง
  • เพิ่มสถานะผู้เล่น MediaStatus#PLAYER_STATE_LOADING ใหม่แล้ว:
    • เมื่อเว็บรีซีฟเวอร์เริ่มโหลดสื่อ พร็อพเพอร์ตี้ PlayerState ใน MediaStatus จะตั้งค่าเป็น MediaStatus#PLAYER_STATE_LOADING จนกว่าจะเริ่มบัฟเฟอร์หรือเล่นเนื้อหา
    • ในกรณีส่วนใหญ่ แอปจะจัดการสถานะนี้เช่นเดียวกับที่จัดการ MediaStatus#PLAYER_STATE_BUFFERING
    • สถานะบัฟเฟอร์และการโหลดไม่สามารถใช้แทนกันได้เสมอไป
    • ในขณะที่กำลังโหลด เว็บรีซีฟเวอร์ยังไม่ได้แปลค่าข้อมูลสื่อทั้งหมด ดังนั้นข้อมูลสื่อที่มีอยู่จึงมีเพียงสิ่งที่ปรากฏในคำขอสื่อเพื่อโหลดของผู้ส่ง
    • ขณะบัฟเฟอร์ ข้อมูลสื่ออาจมีข้อมูลเพิ่มเติมที่ผู้รับแก้ไขแล้ว
  • MediaMetadata ที่แก้ไขเพื่อรองรับหนังสือเสียงมีดังนี้
    • เพิ่มคีย์ MediaMetadata ใหม่แล้ว
    • เพิ่มประเภทข้อมูลเมตาใหม่สำหรับหนังสือเสียง

25 มีนาคม 2019

เว็บรีซีฟเวอร์

  • แทนที่การใช้งาน document.registerElement() ด้วย customElements.define() เพื่อให้ SDK ของตัวรับเว็บใช้งานได้กับแพลตฟอร์ม Cast เวอร์ชันใหม่
  • ตอนนี้ MediaStatus.breakStatus จะแสดงออบเจ็กต์ว่างเมื่อมีช่วงพักโฆษณาสำหรับเนื้อหา แต่ช่วงพักโฆษณาไม่ได้เล่นอยู่
  • แก้ไขปัญหาการแยกวิเคราะห์แท็ก VAST ในบรรทัด

ไลบรารีโปรแกรมเล่นสื่อ

  • แก้ปัญหาความล่าช้าประมาณ 20 วินาทีเมื่อเปลี่ยนแทร็กเสียง

13 กุมภาพันธ์ 2019

เว็บรีซีฟเวอร์

  • แก้ไขปุ่มข้ามโฆษณาที่ปรากฏขึ้นอย่างกะทันหันสำหรับ Touch UI
  • แก้ไขการแสดงข้อมูลช่วงพักบนรีโมตคอนโทรล

ไลบรารีโปรแกรมเล่นสื่อ

  • แก้ไขปัญหาการจัดการ URL ใบอนุญาตสำหรับสื่อที่โหลดล่วงหน้า

5 กุมภาพันธ์ 2019

ผู้ส่ง iOS เวอร์ชัน 4.3.5

  • เพิ่มการรองรับข้อมูลเมตาของหนังสือเสียงได้ที่ GCKMediaMetadata.h เพื่อดูรายละเอียดเพิ่มเติม
  • ตั้งค่าที่ถูกต้องสำหรับ static_framework ใน podspec
  • แยกแอตทริบิวต์สไตล์สำหรับแถบนำทางและแถบเครื่องมือใน ตัวควบคุมการเชื่อมต่อ
  • การแก้ไขข้อบกพร่อง
    • แก้ไขข้อขัดข้องในการเริ่มต้นฐานข้อมูลที่ล้มเหลวบางรายการ
    • แก้ไขปัญหาเกี่ยวกับแถบระดับเสียงของตัวรับสัญญาณเว็บระหว่างที่สายเรียกเข้าหรือเสียงปลุก
    • แก้ไขการเรียกซ้ำซ้อนของเมธอดผู้รับมอบสิทธิ์บางวิธีในระหว่างการค้นหา
    • แก้ไขปัญหาที่รายการคิวสื่อไม่ล้างออกหลังจากที่รายการสุดท้ายในคิวเล่นเสร็จแล้ว
    • ไม่อนุญาตให้แสดงอุปกรณ์ใกล้เคียงที่เข้าถึงไม่ได้เมื่อเครือข่ายไม่พร้อมใช้งาน
    • ปิดใช้แถบเลื่อนระดับเสียงบนตัวควบคุมมุมมองอุปกรณ์สำหรับอุปกรณ์ที่ควบคุมระดับเสียงไม่ได้แล้ว