การอัปเดตสื่อใน Chrome 73

François Beaufort
François Beaufort

ในบทความนี้ เราจะพูดถึงฟีเจอร์สื่อใหม่ๆ ของ Chrome 73 ดังต่อไปนี้

การรองรับคีย์สื่อของฮาร์ดแวร์

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

วันที่ ปุ่มสื่อของแป้นพิมพ์
ปุ่มสื่อของแป้นพิมพ์

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

ใน ChromeOS แอป Android ที่ใช้โฟกัสเสียงจะบอกให้ Chrome หยุดชั่วคราวและ ให้เสียงกลับมาทำงานอีกครั้งเพื่อสร้างประสบการณ์สื่อ ที่ราบรื่นระหว่างเว็บไซต์ใน Chrome แอป Chrome และแอป Android ปัจจุบันฟีเจอร์นี้รองรับเฉพาะใน ChromeOS อุปกรณ์ที่ใช้ Android P

พูดง่ายๆ ก็คือการฟังเหตุการณ์สื่อเหล่านี้เสมอและทำตาม ตามนั้น

video.addEventListener('pause', function() {
  // Video is now paused.
  // TODO: Let's update UI accordingly.
});

video.addEventListener('play', function() {
  // Video is now playing.
  // TODO: Let's update UI accordingly.
});

แต่ยังไม่หมดเท่านี้! ตอนนี้ Media Session API พร้อมใช้งานบนเดสก์ท็อปแล้ว (ก่อนหน้านี้รองรับบนอุปกรณ์เคลื่อนที่เท่านั้น) นักพัฒนาเว็บจะจัดการกับสื่อ เหตุการณ์ที่เกี่ยวข้อง เช่น การติดตามการเปลี่ยนแปลงที่ทริกเกอร์โดยคีย์สื่อ รองรับเหตุการณ์ previoustrack และ nexttrack ในขณะนี้

navigator.mediaSession.setActionHandler('previoustrack', function() {
  // User hit "Previous Track" key.
});

navigator.mediaSession.setActionHandler('nexttrack', function() {
  // User hit "Next Track" key.
});

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

navigator.mediaSession.setActionHandler('play', function() {
  // User hit "Play" key.
});

navigator.mediaSession.setActionHandler('pause', function() {
  // User hit "Pause" key.
});

การรองรับคีย์สื่อฮาร์ดแวร์มีให้บริการใน ChromeOS, macOS และ Windows Linux จะมาภายหลัง

ดูเอกสารสำหรับนักพัฒนาซอฟต์แวร์ที่มีอยู่และลองใช้สื่ออย่างเป็นทางการ ตัวอย่างเซสชัน

ตัวติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

สื่อที่เข้ารหัส: การตรวจสอบนโยบาย HDCP

HDCP Policy Check API ช่วยให้นักพัฒนาเว็บค้นหาได้ว่า นโยบายที่เฉพาะเจาะจง เช่น ข้อกำหนด HDCP สามารถบังคับใช้ก่อนส่งคำขอ ใบอนุญาต Widevine และการโหลดสื่อ

const status = await video.mediaKeys.getStatusForPolicy({ minHdcpVersion: '2.2' });

if (status == 'usable')
  console.log('HDCP 2.2 can be enforced.');

API นี้มีให้บริการในทุกแพลตฟอร์ม อย่างไรก็ตาม การตรวจสอบนโยบายจริงอาจ ไม่สามารถใช้ได้ในบางแพลตฟอร์ม ตัวอย่างเช่น สัญญาว่าจะมีการตรวจสอบนโยบาย HDCP จะปฏิเสธพร้อมกับ NotSupportedError ใน Android และ Android WebView

โปรดดูเอกสารสำหรับนักพัฒนาซอฟต์แวร์ฉบับก่อนหน้าของเรา และลองใช้ ตัวอย่าง เพื่อดูเวอร์ชัน HDCP ทั้งหมดที่รองรับ

ความตั้งใจในการจัดส่ง | ตัวติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

ช่วงทดลองใช้จากต้นทางสำหรับการแสดงภาพซ้อนภาพอัตโนมัติสำหรับ PWA ที่ติดตั้งไว้

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

แอตทริบิวต์ autopictureinpicture ใหม่เพื่อรองรับการสลับแท็บและแอป เพิ่มลงในองค์ประกอบ <video>

<video autopictureinpicture></video>

วิธีการทำงานคร่าวๆ มีดังนี้

  • เมื่อซ่อนเอกสาร องค์ประกอบวิดีโอที่ autopictureinpicture ล่าสุด ให้ป้อนแอตทริบิวต์การแสดงภาพซ้อนภาพโดยอัตโนมัติ หาก อนุญาต
  • เมื่อเอกสารปรากฏขึ้น องค์ประกอบวิดีโอในการแสดงภาพซ้อนภาพ ออกจากสตรีมนั้นโดยอัตโนมัติ

เพียงเท่านี้ก็เรียบร้อยแล้ว โปรดทราบว่าฟีเจอร์การแสดงภาพซ้อนภาพอัตโนมัติใช้ได้กับ Progressive Web App ที่ผู้ใช้ติดตั้งบนเดสก์ท็อป

ดูรายละเอียดเพิ่มเติมในข้อกำหนดและลองใช้ PWA อย่างเป็นทางการ ตัวอย่าง

ความตั้งใจในการทดสอบ | ตัวติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

ช่วงทดลองใช้จากต้นทางสําหรับหน้าต่างการข้ามโฆษณาในโหมดการแสดงภาพซ้อนภาพ

รูปแบบโฆษณาวิดีโอมักประกอบด้วยโฆษณาตอนต้น คอนเทนต์ มักจะข้ามโฆษณาได้หลังจากผ่านไป 2-3 วินาที น่าเสียดาย เนื่องจากหน้าต่างการแสดงภาพซ้อนภาพไม่ใช่การโต้ตอบ ผู้ใช้ที่ดูวิดีโอใน การแสดงภาพซ้อนภาพยังทำงานนี้ไม่ได้ในวันนี้

ตอนนี้ Media Session API มีให้บริการบนเดสก์ท็อป (รองรับใน ในอุปกรณ์เคลื่อนที่เท่านั้น) ระบบจะใช้การดำเนินการใหม่ของเซสชันสื่อของ skipad เพื่อเสนอการดำเนินการนี้ ในการแสดงภาพซ้อนภาพ

วันที่ ปุ่มข้ามโฆษณาในหน้าต่างการแสดงภาพซ้อนภาพ
"ข้ามโฆษณา" ปุ่มในหน้าต่างการแสดงภาพซ้อนภาพ

หากต้องการให้ฟีเจอร์นี้ส่งฟังก์ชันด้วย skipad เมื่อโทร setActionHandler() หากต้องการซ่อนบัตร null ตามที่คุณอ่านด้านล่างนี้ ไม่ซับซ้อน

try {
  navigator.mediaSession.setActionHandler('skipad', null);
  showSkipAdButton();
} catch(error) {
    // The "Skip Ad" media session action is not supported.
}

function showSkipAdButton() {
  // The Picture-in-Picture window will show a "Skip Ad" button.
  navigator.mediaSession.setActionHandler('skipad', onSkipAdButtonClick);
}

function onSkipAdButtonClick() {
  // User clicked "Skip Ad" button, let's hide it now.
  navigator.mediaSession.setActionHandler('skipad', null);

  // TODO: Stop ad and play video.
}

ลองใช้ "ข้ามโฆษณา" อย่างเป็นทางการ ตัวอย่างและแจ้งให้เราทราบว่าฟีเจอร์นี้ ปรับปรุงให้ดีขึ้น

ความตั้งใจในการทดสอบ | ตัวติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

ให้สิทธิ์เล่นอัตโนมัติสำหรับ PWA บนเดสก์ท็อป

และตอนนี้ Progressive Web App พร้อมใช้งานบนแพลตฟอร์มเดสก์ท็อปทั้งหมดแล้ว เราได้ขยายกฎที่เคยมีบนอุปกรณ์เคลื่อนที่ไปยังเดสก์ท็อป ซึ่งก็คือการเล่นอัตโนมัติด้วย อนุญาตเสียงสำหรับ PWA ที่ติดตั้งไว้แล้ว โปรดทราบว่าการตั้งค่านี้ใช้ได้กับหน้าเว็บใน ขอบเขตของไฟล์ Manifest ของเว็บแอป

ข้อบกพร่องของ Chromium