Ứng dụng iOS của tôi sử dụng AVPlayer
để truyền trực tuyến phương tiện từ web. Tôi đang sử dụng KVO để phát hiện các sự kiện như đệm (playbackBufferEmpty
) và bị bắt (playbackLikelyToKeepUp
). Tuy nhiên, tôi đã nhận thấy một lỗi cụ thể. Mặc dù trong quá trình giảm tốc độ mạng hầu hết, nhưng KVO playbackBufferEmpty
bị va đập và khi nó phục hồi, thì KV1 playbackLikelyToKeepUp
bị ảnh hưởng như mong đợi, tôi nhận thấy rằng (với một số tần số) AVPlayer
sẽ lưu trong một khoảng thời gian, phục hồi, playbackLikelyToKeepUp
, âm thanh phát trong khoảng từ 1 đến 3 giây và sau đó âm thanh sẽ ngừng phát lại như thể đang lưu vào bộ đệm— mà không cần nhấn lại vào playbackBufferEmpty
KVO. Và nó không phục hồi từ điều này.AVPlayer Not Recovering After Buffering
TL; DR: playbackBufferEmpty
(10-20 giây) ->playbackLikelyToKeepUp
-> lượt phát từ 1-3s -> dừng phát nhưng không có KVO nào bị trúng.
Phần tồi tệ nhất là khi điều này xảy ra, AVPlayer
không tự động bắt đầu phát lại như khi khôi phục từ bộ đệm và ứng dụng im lặng cho đến khi AVPlayer
được dừng lại/bắt đầu lại theo cách thủ công. Nó xảy ra nhiều hơn hoặc ít hơn mỗi khi tôi phát trực tuyến, cuối cùng. Đây có phải là sự cố đã biết với AVPlayer
không? Đây có phải là sự kiện KVO thứ ba mà tôi có thể theo dõi không? Hoặc bất kỳ lời khuyên nào về cách gỡ lỗi này? Cảm ơn!
EDIT: thêm thông tin: error
Khách sạn AVPlayer
's là nil
khi điều này xảy ra, status
tài sản là Ready to Play, và rate
tài sản là 1. AKA Không có gì khác lạ xảy ra, như xa như tôi có thể nói.