2012-10-01 41 views
8

Trong ứng dụng của tôi trường hợp của MPMoviePlayerController Tôi tạo ra bắt đầu ra như một hộp đen, nhìn như thế này (vì video bắt đầu ra màu đen và mất dần trong):MPMoviePlayerController bắt đầu ảnh

enter image description here

Tuy nhiên tôi đã hình dung một cái gì đó thân thiện với người như thế này, với một hình ảnh thu nhỏ, giống như ví dụ dưới đây hơn:

enter image description here

Đó là một mockup tôi tạo ra nhưng video trong cameral cuộn và video được gửi trong ứng dụng Tin nhắn sử dụng mũi tên phát đó. Tôi cần phải triển khai lớp nào để sử dụng mũi tên phát cổ phiếu iOS?

Trả lời

6

Điều này có vẻ giống như phương pháp của MPMoviePlayerController, bạn nên chuyển thời gian bạn muốn truy xuất hình thu nhỏ và sử dụng hình ảnh đó để hiển thị UIImageView ở đầu video.

Khi bạn có hình thu nhỏ, bạn tạo UIImageView và đặt hình ảnh thành hình thu nhỏ và đảm bảo bạn đặt userInteractionsEnabled thành YES. Đảm bảo đặt khung của chế độ xem hình ảnh này để bao gồm trình phát phim.

Bây giờ bạn có thể tạo UITapGestureRecognizer trên chế độ xem hình ảnh đó sẽ kích hoạt một phương pháp. Phương thức này sau đó gọi phương thức play của đối tượng MPMoviePlayerController của bạn.

-(void)viewDidLoad{ 
    [...] 

    UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:5.0 
               timeOption:MPMovieTimeOptionNearestKeyFrame]; 

    UIImageView *iv = [[UIImageView alloc] initWithImage:thumbnail]; 
    iv.userInteractionEnabled = YES; 
    iv.frame = moviePlayer.frame; 
    [self.view addSubview:iv]; 
    [iv release]; 

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; 
    tap.numberOfTapsRequired = 1; 
    [iv addGestureRecognizer:tap]; 
    [tap release]; 

    [...] 
} 


- (void)handleTap:(UITapGestureRecognizer *)gesture{ 
    iv.hidden = YES; 
    [moviePlayer play]; 
} 

Xin lưu ý nếu bạn muốn vào nút play sau đó tạo ra một nút play trong Photoshop, và thêm này trên quan điểm hình ảnh thu nhỏ, đính kèm các nhận dạng cử chỉ vào chế độ xem hình ảnh và chắc chắn rằng bạn ẩn cả hai xem hình ảnh khi bạn bắt đầu phát video của mình.

Bạn có thể sử dụng UIButton nếu không với hình ảnh được đặt thành hình ảnh phát, thì bạn sẽ không cần UIGestureRecognizer chút nào.

+0

Còn mũi tên phát thì sao? Điều đó có được hiển thị trên 'UIImageView' không? Ngoài ra, làm cách nào để tôi đặt 'UIImageView' để cho phép tương tác của người dùng như bạn đã đề cập? – inorganik

+0

Có, trong trường hợp của bạn. Hình ảnh xem trước của bạn không giống nhau. – Daniel

+0

Bạn vẫn chưa trả lời được câu hỏi của tôi. Làm thế nào để tôi có được mũi tên phát mà tôi đưa ra một ví dụ, cũng như bạn đã đề cập đến cách bạn có thể "đặt chế độ xem hình ảnh để cho phép tương tác của người dùng". Tất cả các phương pháp thu nhỏ là lấy một hình ảnh, tôi có một hình ảnh, đó không phải là vấn đề. Vui lòng thử lại. – inorganik

0

Còn về việc sử dụng UIButton thì sao? Nó có thể có một hình nền đẹp, bấm vào nó, và di chuyển nó phía sau trình phát phim hoặc xóa nút ngay cả. Rất đơn giản để thêm ngay cả trong mã

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