Trong video_player.js, hãy xác định một lớp trình bao bọc trình phát video để khởi chạy và kiểm soát trình phát dash.js.
Thiết lập trình phát băng thông rộng
Xác định vị trí đặt trình phát băng thông rộng trong ứng dụng bằng cách tạo thẻ video và thẻ trình bao bọc:
Tạo trình phát video
Khởi chạy lớp trình phát video bằng các biến cho phần tử HTML, trình phát dash.js và lệnh gọi lại mà các phương thức lớp khác có thể sử dụng.
Xác định các hàm điều khiển chế độ phát
Để hiển thị trình phát quảng cáo và đính kèm khung hiển thị video, hãy tạo phương thức VideoPlayer.play(). Sau đó, hãy tạo phương thức VideoPlayer.stop() để xử lý việc dọn dẹp sau khi nhóm quảng cáo kết thúc.
Tải trước tệp kê khai luồng quảng cáo
Để xác minh rằng quảng cáo đã tải đủ trong luồng nội dung và trước khi điểm chèn quảng cáo bắt đầu, hãy sử dụng VideoPlayer.preload() và VideoPlayer.isPreloaded().
1. Tải trước luồng quảng cáo
Tạo phương thức VideoPlayer.preload() để tải trước tệp kê khai luồng quảng cáo và tạo vùng đệm quảng cáo trước điểm chèn quảng cáo. Bạn phải cập nhật chế độ cài đặt truyền phát của trình phát 'cacheInitSegments' thành true. Bằng cách cập nhật chế độ cài đặt, bạn có thể bật tính năng lưu vào bộ nhớ đệm các phân đoạn khởi chạy, giúp tránh tình trạng chậm trễ khi chuyển sang quảng cáo.
2. Kiểm tra bộ đệm quảng cáo đã tải trước
Tạo phương thức VideoPlayer.isPreloaded() để kiểm tra xem bộ đệm quảng cáo đã tải trước đủ so với ngưỡng bộ đệm được đặt trong ứng dụng hay chưa:
Đính kèm trình nghe trình phát
Để thêm trình nghe sự kiện cho sự kiện trình phát dash.js, hãy tạo phương thức VideoPlayer.attachPlayerListener(): PLAYBACK_PLAYING, PLAYBACK_ENDED, LOG và ERROR. Phương thức này cũng xử lý các sự kiện cho URI mã lược đồ, ngoài việc đặt hàm dọn dẹp để xoá các trình nghe này.
Đặt lệnh gọi lại sự kiện trình phát
Để quản lý việc phát nhóm quảng cáo dựa trên các sự kiện trình phát, hãy tạo các phương thức VideoPlayer.onAdPodPlaying(), VideoPlayer.onAdPodEnded() và VideoPlayer.onAdPodError():
Tạo phương thức setter cho sự kiện onAdPodEnded
Đặt một hàm callback chạy khi một nhóm quảng cáo kết thúc bằng cách tạo phương thức VideoPlayer.setOnAdPodEnded(). Lớp ứng dụng sử dụng phương thức này để tiếp tục phát nội dung sau điểm chèn quảng cáo.
Xử lý các sự kiện siêu dữ liệu luồng
Đặt một hàm callback chạy dựa trên các sự kiện emsg bằng cách tạo phương thức VideoPlayer.setEmsgEventHandler(). Đối với hướng dẫn này, hãy đưa tham số scope vào vì bạn gọi setEmsgEventHandler() bên ngoài video_player.js.
Hiện và ẩn trình phát video cho điểm chèn quảng cáo
Để hiển thị trình phát video trong điểm chèn quảng cáo và ẩn trình phát sau khi điểm chèn quảng cáo kết thúc, hãy tạo các phương thức VideoPlayer.show() và VideoPlayer.hide():
Tiếp theo, hãy tạo một lớp trình quản lý quảng cáo để sử dụng SDK IMA nhằm đưa ra yêu cầu luồng, nhận tệp kê khai nhóm quảng cáo, theo dõi các sự kiện luồng IMA và chuyển các sự kiện emsg đến SDK IMA.