2011-07-15 69 views
14

我已到處尋找如何做到這一點,還沒有找到答案。 是否可以在內嵌iPhone的UIWebView中播放YouTube視頻,即不是全屏? 我知道iPhone不支持Flash,但youtube支持html5並且擁有h.264視頻不是嗎?我不應該能夠做到這一點嗎?我可以在UIWebView內嵌(不是全屏)播放YouTube視頻嗎?

我已經設置allowInlineMediaPlayback爲YES,但它仍然播放全屏。

+0

試試這個http://iphoneincubator.com/blog/audio-video/how-to-play-youtube-videos-within-an-application –

+0

哎它將工作100%。 –

+0

你必須改變框架尺寸屬性來實現小型 –

回答

33

當然可以,你需要在一個UIWebView

webView.allowsInlineMediaPlayback=YES; 

設置屬性而你需要& playsinline添加= 1到YouTube的iframe嵌入代碼。

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

在運行iOS 6.1.2的iPhone 4S上測試的效果就像一個魅力。

+0

這是正確的 - 這兩個設置就地播放將適用於iPhone。 –

+0

謝謝......這對我來說也是如此...... –

+0

你可以請你用YouTube的iFrame api顯示代碼嗎?因爲我想從特定時間運行視頻 – z22

2

allowsInlineMediaPlayback UIWebView的性質

布爾值,確定HTML5視頻是否玩在線或使用本地全屏控制器。 (developer.apple.com)

您可以在iPad上使用此功能。在iPhone上沒有這樣的功能。如果您嘗試在iPhone上使用uiwebview播放視頻,它將以全屏模式播放。

+2

情況並非如此。 -allowsInlineMediaPlayback可以在iPhone上使用,但是您還必須在HTML視頻標籤中包含webkit-playsinline屬性。請參閱stringCode的答案。 –

+0

@MarcCharbonneau iOS 7上的iPhone是否適用?似乎強制全屏播放器 –

+0

@matrosov,你好我的朋友,但我想在UIWebview使用HTML5播放視頻像藤應用程序視頻正在播放。我可以在iPhone中實現它嗎? – NiravPatel

0

是的,你可以在「playsinline = 1」的幫助下播放任何嵌入式視頻內嵌UIWebView本身。

的源代碼,如:

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]; 
相關問題