2010-07-07 37 views
7

Tôi đã thêm một phiên bản MPMoviePlayerViewController và phát một bộ phim hoạt động tuyệt vời. Tôi có 3 nút và muốn tải các video khác nhau trong vùng chứa UIView. Điều đó cũng hiệu quả. Nhưng nếu tôi nhấp vào nút để tải một video khác, mọi lúc nền sẽ nhấp nháy màu đen. Tôi đã đặt màu thành "clearColor":Đang tải MPMoviePlayerViewController với nền trong suốt?

player.moviePlayer.backgroundView.backgroundColor = [UIColor clearColor]; 

Nhưng điều đó không có tác dụng. Có cách nào để tải video không có nền - chỉ nội dung video không?

Cảm ơn thời gian của bạn.

+0

Có cùng một vấn đề ... nhờ Apple: P – Adam

Trả lời

10
  1. Không chắc chắn về vấn đề nhấp nháy. Bạn nói nó nhấp nháy khi bạn tải một video khác - Bạn có vô tình sắp xếp nhiều video lên nhau không? Hãy chắc chắn rằng bạn loại bỏ cái cũ!
  2. Các nền đen nhiều khả năng là vì tài sản scalingMode MPMoviePlayerController của bạn được thiết lập để MPMovieScalingModeAspectFit(Tài liệu của Apple: MPMoviePlayerController scalingMode)

Đối với vấn đề # 2, giống như bạn, tôi đã mong đợi thiết lập màu sắc của backgroundView để xử lý này, tuy nhiên có vẻ như có một cái nhìn khác đằng sau đó mà bạn cũng cần phải thiết lập backgroundColor để clearColor. Hack của tôi cho điều này là chỉ đơn giản là iterate thông qua subviews của người xem phim và thiết lập backgroundColor của họ để xóa.

Hack/"Giải pháp" ví dụ sử dụng tên biến của bạn:

for(UIView* subV in player.moviePlayer.view.subviews) { 
    subV.backgroundColor = [UIColor clearColor]; 
} 

Bạn cần phải tái áp dụng clearColor đến subviews bất cứ lúc nào bạn vào chế độ toàn màn hình/exit là tốt. Tôi hy vọng một người khác có một giải pháp tốt hơn bởi vì phương pháp này có vẻ khá kludgy.

+0

Đó là giải pháp duy nhất có hiệu quả đối với tôi. cảm ơn! – Giovanni

+0

Đã thêm 'player.moviePlayer.view.backgroundColor = [UIColor clearColor];' và nó cũng hoạt động cho tôi – Ossir

Các vấn đề liên quan