Tôi đã triển khai trình phát phim tùy chỉnh với AVPlayer
. Khi đặt giá trị của videoGravity trong AVPlayerLayer
thành AVLayerVideoGravityResizeAspectFill
Tôi thấy hiệu ứng mong muốn trong iOS
4.2, 4.3
. Nhưng bằng cách nào đó trên iOS 5.0
nó đã không có hiệu lực. Có ai nhìn thấy một vấn đề tương tự? Tôi có làm điều gì sai?Đặt videoGravity thành AVLayerVideoGravityResizeAspectFill không có hiệu lực trên iOS 5.0
Trả lời
Trên iOS5, bạn nên đặt lại giới hạn lớp sau khi đặt videoGravity.
này đã làm việc cho tôi:
((AVPlayerLayer *)[self layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
((AVPlayerLayer *)[self layer]).bounds = ((AVPlayerLayer *)[self layer]).bounds;
EDITED: "tự" điểm đến một PlayerView (lớp con của UIView) đối tượng từ ví dụ "Đưa tất cả cùng nhau": https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/02_Playback.html
Were bạn có thể để giải quyết vấn đề của bạn với đề xuất của miham ?. Câu hỏi của tôi đã bị cấm bởi điều này "BoltClock" điều hành, chỉ muốn biết nếu đề nghị đó làm việc cho bạn vì nó không cho tôi.
Vui lòng, BoltClock, không xóa câu hỏi của tôi. Tôi nghĩ là hợp pháp khi hỏi đối tượng 'tự' là loại gì. miham nói rằng giải pháp đó làm việc cho anh ta, tốt, nó không hiệu quả đối với tôi, vì vậy tôi nghĩ rằng câu hỏi 'điểm tự' có thể cho tôi manh mối về loại đối tượng nào tôi nên sử dụng. Tài liệu nói rằng việc đặt trọng lực thành AVLayerVideoGravityResizeAspectFill sẽ cắt video thành chế độ xem AVPlayerLayer nhưng không thực hiện được, và tôi đã thử nghiệm điều này trong iOS 4.3.2 và iOS 5, để câu trả lời của miham không có câu trả lời cho câu hỏi gốc Soumya Das và để tôi (những gì 'tự' chỉ đến?) quá. Có lẽ bạn có câu trả lời ?, nếu có, hãy đăng câu hỏi ở đây và không chỉ xóa câu hỏi của tôi.
CHỈNH SỬA: Tìm giải pháp cho vấn đề này. Chọn hộp kiểm "Clip Subviews" trong IB cho chế độ xem với lớp bạn sẽ đính kèm trình phát video. Sau đó, đặt AVLayerVideoGravityResizeAspectFill của đối tượng AVPlayerLayer của bạn. Nếu bạn không có chế độ xem trong IB nhưng bạn đang tạo nó theo cách lập trình, hãy đặt thuộc tính clipToBounds thành CÓ.
- 1. Cài đặt AVPlayerLayer VideoGravity hoạt động trên Simulator, không phải trên iPad
- 2. Đặt NSFileCreationDate không có hiệu lực
- 3. SocketRocket không hoạt động trên iOS 5.0
- 4. ld: lặp lại biểu tượng _objc_retainedObject trên iOS 4.3, nhưng không phải trên iOS 5.0
- 5. PHP setlocale không có hiệu lực
- 6. Màu nền CSS không có hiệu lực trên DIV
- 7. NSStepper trong NSTableCellView không có hiệu lực
- 8. Cài đặt mức độ ưu tiên (ưu tiên) không có hiệu lực trên Linux
- 9. android ImageView setPadding không có hiệu lực
- 10. UpdatePanel.Visible = true không có hiệu lực
- 11. AVLayerVideoGravityResizeAspectFill crop ở đâu
- 12. GWT DataGrid setLoadingIndicator không có hiệu lực
- 13. Cách sao chép các tab trên iOS Chrome có hiệu lực bằng UICollectionView
- 14. UITextField được gán choPlaceholder không có hiệu lực
- 15. Không thể nhận expand_aliases có hiệu lực
- 16. Wake + Khóa Wifi không có hiệu lực
- 17. Đóng một ByteArrayOutputStream không có hiệu lực?
- 18. Từ kế ios: hiển thị lực hiệu chuẩn xem
- 19. tinyMCE không hoạt động trên firefox 5.0
- 20. UISplitViewController và định hướng - iOS <5.0
- 21. Không có quyền lực của hai kết cấu trong iOS
- 22. Cài đặt kiểu nhóm không có hiệu lực từ IB, UITableView
- 23. ASP.NET MVC - Model.OrderBy Ngày không có hiệu lực
- 24. xác minh xem bigAddressAware có hiệu lực không?
- 25. Việc gán cho biến không có hiệu lực?
- 26. Việc thêm số 1 vào bộ không có hiệu lực
- 27. toán hạng trái của dấu phẩy không có hiệu lực?
- 28. Thêm ánh sáng vào cảnh không có hiệu lực
- 29. Cắt xén chuỗi Java không có hiệu lực
- 30. Đặt các loại chung của SwingWorker làm mất hiệu lực?
Câu trả lời hay !!! Thk. –
ý của bạn là gì? những gì bạn đang làm là không có gì. Hai bên của dòng cuối cùng bằng nhau. Theo dự kiến, điều này không ảnh hưởng đến iOS 8. – SpaceDog