2012-07-23 64 views
7

Tôi đang sử dụng AVplayer để phát video trong ứng dụng của mình. Tôi đang sử dụng seekToTime: toleranceBefore: toleranceAfter:AVPlayer Trượt tìm kiếm Quay lại số phát hành

để tìm kiếm thông qua video bằng cách sử dụng thanh trượt để vấn đề là khi bạn trượt trong hướng về phía trước, Video tìm kiếm một cách hoàn hảo (trông giống như video được di chuyển nhanh hơn) nhưng trong trượt lùi video trông bị giật khi trượt lại (về cơ bản không trơn tru như trượt hoa cho thấy). Có ai biết vấn đề là gì hay tôi đang làm gì sai.

Vui lòng trợ giúp.

+0

Bạn có thể tạm dừng trước khi bạn tìm kiếm không? Tôi không chắc chắn 100% về điều này vì tôi đã không thử nó. – av501

Trả lời

0

tôi nghĩ rằng nó bởi vì bộ đệm bị trống khi bạn phát ngược lại.Xin vui lòng làm một KVO trên giá trị bufferIsEmpty. Có thể vì trong ứng dụng của bạn có thể đang sử dụng nhiều bộ nhớ về các nguồn lực khác. Cách tốt nhất để kiểm tra điều này là để tạo ra một dự án khác và cố gắng giống nhau.Chỉ cần thử sử dụng AVPlayerQueue thay vì AVPlayer và xem kết quả.

3

Tôi gặp sự cố tương tự trên iPhone. Dưới đây là danh sách kiểm tra:

  1. Hãy chắc chắn rằng providesPreciseDurationAndTiming đang trở lại YES
  2. Hãy chắc chắn rằng canPlayReverse là YES (Một số codec không hỗ trợ nó, tôi đoán.)
  3. Không sử dụng chất lượng cao nhất.

AVCaptureSession mặc định là có chất lượng cao. Bạn cần phải sử dụng một thiết lập chất lượng thấp hơn nếu bạn muốn đảo ngược mượt mà, ngay cả trên iPhone 5. Đi ngược lại mất nhiều tính toán hơn vì hầu hết các codec được tối ưu hóa để giải nén theo hướng về phía trước. Để giải quyết vấn đề này, nếu bạn yêu cầu chụp chất lượng cao, bạn có thể chụp ở định dạng có độ phân giải cao, xuất sang định dạng có độ phân giải thấp và sử dụng định dạng đó để chỉnh sửa, sau đó sử dụng thời gian để cắt hình ảnh có độ phân giải cao gốc . Tôi đang dự tính làm điều này trong ứng dụng của riêng tôi.