Tôi đang phát âm thanh bằng cách sử dụng AVPlayer. Nó hoạt động tốt. Nhưng Bây giờ tôi cần phải thực hiện một thanh trượt để di chuyển âm thanh về phía trước và phía sau, giống như trình phát nhạc thông thường. Tôi đã sử dụng hàm seekToTime
hoạt động tốt với tệp âm thanh cục bộ. Nhưng khi tôi phát bài hát từ url web, chức năng sẽ dừng âm thanh khi tôi chuyển thanh trượt với phạm vi rộng.SeekToTime trong AVPlayer ngừng phát âm thanh trực tuyến, khi chuyển tiếp
Tôi đoán là bài hát đang được tải xuống và nếu tôi di chuyển thanh trượt về phía trước với phạm vi rộng thì có thể hệ thống chưa tải xuống gói dữ liệu bài hát trong thời gian đó, vì vậy nó tạm dừng trình phát.
Cho phép nói rằng tôi chỉ cần nhấn nút để phát bài hát nhưng bây giờ tôi di chuyển thanh trượt ngay lập tức từ 0 đến 100 giây. Trong trường hợp này, hệ thống không hoạt động và dừng trình phát. Do thiếu gói dữ liệu cho thời gian đó.
Có ai biết cách khắc phục sự cố này hoặc có cách tiếp cận nào khác không. Tôi đang sử dụng SWIFT để phát triển. Tôi cũng sẽ sử dụng bất kỳ thư viện nào nếu nó hoạt động nhanh chóng. Đây là chức năng của tôi:
func forward() {
timeGap = slider.value
let preferredTimeScale : Int32 = 1
let targetTime : CMTime = CMTimeMake(timeGap, preferredTimeScale)
player.seekToTime(targetTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero)
}
Cảm ơn trước.
tôi đã nhận thấy rằng khi tôi bắt đầu một video trực tiếp dòng các bộ đệm trống ngay từ đầu ('playbackBufferEmpty == true') và cờ playbackBufferEmpty không bao giờ thay đổi trạng thái của nó thành false. Có cách nào để tự khởi động bộ đệm bằng AVFoundation không? – svrs