2011-07-15 54 views
14

Tôi đã xem xét mọi nơi về cách thực hiện điều này và chưa tìm thấy câu trả lời. Có thể phát video youtube trong UIWebView trên nội tuyến iPhone, tức là không toàn màn hình không? Tôi biết rằng iPhone không hỗ trợ flash, nhưng youtube hỗ trợ html5 và có video h.264 phải không? sao tôi không thể làm vậy?Tôi có thể phát video youtube trong nội tuyến UIWebView (không phải toàn màn hình) không?

Tôi đã đặt allowInlineMediaPlayback thành YES nhưng vẫn phát toàn màn hình.

+0

thử này một http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application –

+0

hey nó sẽ hoạt động 100%. –

+0

u phải thay đổi thuộc tính kích thước khung hình để đạt được nhỏ –

Trả lời

33

Có bạn có thể, bạn cần phải thiết lập tài sản trên UIWebView

webView.allowsInlineMediaPlayback=YES; 

Và bạn cần phải thêm & playsinline = 1 tới iframe YouTube nhúng mã.

<iframe webkit-playsinline width="200" height="200" src="https://www.youtube.com/embed/GOiIxqcbzyM?feature=player_detailpage&playsinline=1" frameborder="0"></iframe> 

Thử nghiệm trên iPhone 4S chạy iOS 6.1.2 hoạt động như một sự quyến rũ.

+0

Điều này đúng - với hai cài đặt này trong phát lại nội tuyến sẽ hoạt động trên iPhone. –

+0

Cảm ơn ... đã làm việc cho tôi ... –

+0

bạn có thể vui lòng hiển thị mã với iFrame api của youtube không? Vì tôi muốn chạy video từ một thời điểm nhất định – z22

2

tính allowsInlineMediaPlayback UIWebView

giá trị Boolean xác định liệu HTML5 video chơi inline hoặc sử dụng bộ điều khiển toàn màn hình bản địa. (developer.apple.com)

Bạn có thể sử dụng tính năng này trên iPad. Trên iPhone không có chức năng như vậy. Nếu bạn thử phát video bằng uiwebview trên iPhone, nó sẽ được phát ở chế độ toàn màn hình.

+2

Đó không phải là trường hợp. -allowsInlineMediaPlayback sẽ hoạt động trên iPhone, nhưng bạn cũng phải bao gồm thuộc tính webkit-playsinline trên thẻ video HTML. Xem câu trả lời của stringCode. –

+0

@MarcCharbonneau Điều này có đúng với iPhone trên iOS 7 không? Dường như để buộc người chơi toàn màn hình –

+0

@matrosov, chào bạn của tôi, nhưng tôi muốn phát video trong UIWebview bằng cách sử dụng HTML5 như video ứng dụng cây nho đang được chơi. Làm cách nào để tôi có thể đạt được nó trong iPhone? – NiravPatel

0

Có, bạn có thể phát bất kỳ nội dung UIWebView nội dòng video nhúng nào với sự trợ giúp của "playsinline = 1".

Source code như:

NSMutableString *html = [[NSMutableString alloc] initWithCapacity:1] ; 
[html appendString:@"<html><head>"]; 
[html appendString:@"<style type=\"text/css\">"]; 
[html appendString:@"body {"]; 
[html appendString:@"background-color: transparent;"]; 
[html appendString:@"color: white;"]; 
[html appendString:@"}"]; 
[html appendString:@"</style>"]; 
[html appendString:@"</head><body style=\"margin:0\">"]; 
[html appendString:@"<iframe webkit-playsinline width=\"300\" height=\"220\" src=\"http://www.ustream.tv/embed/23192315?html5ui&showtitle=false&playsinline=1\" frameborder=\"0\"></iframe>"]; 
[html appendString:@"</body></html>"]; 
[self.webViewRef loadHTMLString:html baseURL:nil]; 
Các vấn đề liên quan