Tôi hiện đang phát triển trình phát video cho nội dung được phát trực tiếp bằng cách sử dụng Khung công cụ AVPlayer. Tôi tình cờ xem Chuỗi thuộc tính VideoGravity của AVPlayerLayer, cho phép tôi đặt các chế độ Scaling/Resizing của người chơi thành các giá trị khác nhau.Cài đặt AVPlayerLayer VideoGravity hoạt động trên Simulator, không phải trên iPad
Để cung cấp cho người dùng các tính năng mở rộng quy mô-được biết đến từ các cầu thủ mặc định, tôi đã thiết lập một phương pháp mà sẽ thực thi đoạn mã sau:
AVPlayerLayer *layer = (AVPlayerLayer *)[self.videoContainer layer];
if([layer.videoGravity isEqualToString:AVLayerVideoGravityResizeAspect])
layer.videoGravity = AVLayerVideoGravityResizeAspectFill;
else
layer.videoGravity = AVLayerVideoGravityResizeAspect;
này hoạt động rất tốt trong Simulator, nhưng bằng cách nào đó không phải trên iPad 2 của tôi với iOS 5.0.1 được cài đặt.
Có ai gặp phải sự cố tương tự không? Đây có phải là lỗi iOS đã biết với 5.0.1 không? Có cách nào tốt hơn để triển khai thực hiện thu nhỏ/thay đổi kích thước bằng AVPlayerLayer?
Bất kỳ ý tưởng/lời khuyên/giúp đỡ và khuyến nghị được đánh giá cao rất nhiều,
Cảm ơn,
Sam
Khi bạn nói nó không hoạt động trên thiết bị thực, điều gì thực sự xảy ra? Không có gì hoặc một số hành vi bất ngờ khác? – reddersky
tiếc là không có gì (hiển thị) xảy ra ... nếu tôi NSLog (layer.videoGravity) Chuỗi VideoGravity "đúng" được trả lại. Nó cũng chấp nhận những thay đổi, nhưng nó không thực sự thay đổi kích thước của nội dung phim ... – samsam
Tôi có thể đang sủa cây sai ở đây, nhưng tại sao bạn đặt videoGravity thành một chuỗi tên không đổi thay vì chỉ thiết lập nó đến chính bản thân nó? – reddersky