2013-07-24 69 views
1

我的應用程序包含一個帶有自定義UIButtons的視頻來管理視頻。 通過使用Youtube iFrame API,我設法在UIWebView中播放YouTube視頻並隱藏其全部默認控件(用於全屏,音量等)。 現在我想通過自定義按鈕來控制視頻。 我該怎麼做? - 全屏的UIButton:讓視頻全屏 - 靜音/取消靜音按鈕:靜音/取消靜音視頻ios:youtube通過自定義按鈕靜音

指畫面從我的其他問題:

objective-c: play video by removing the default fullscreen, etc functionality

我如何解決這個問題?在UIWebView的規範視頻:

NSString *htmlString [email protected]"<!DOCTYPE html><html> <body><div id=\"player\"></div><script>var tag = document.createElement('script');tag.src = \"https://www.youtube.com/iframe_api\";var firstScriptTag = document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);var player;function onYouTubeIframeAPIReady() {player = new YT.Player('player', {height: '196',width: '309',videoId: 'GOiIxqcbzyM',playerVars: {playsinline: 1, controls: 0}, events: {'onReady': onPlayerReady,'onStateChange': onPlayerStateChange}});}function onPlayerReady(event) {event.target.playVideo();}var done = false;function onPlayerStateChange(event) {if (event.data == YT.PlayerState.PLAYING && !done) {setTimeout(stopVideo, 6000);done = true;}}function stopVideo() {}</script></body></html>"; 
_webViewVideo.delegate = self; 

static NSString *youTubeVideoHTML = @"<iframe webkit-playsinline width=\"309\" height=\"200\" src=\"https://www.youtube.com/embed/GOiIxqcbzyM?feature=player_detailpage&playsinline=1\" frameborder=\"0\"></iframe>"; 
[_webViewVideo loadHTMLString:htmlString baseURL:[[NSBundle mainBundle] resourceURL]]; 
+0

您是如何隱藏默認控件的,您是否找到了通過自定義控件控制視頻的方法? – Fluffhead

回答

0

這種組合確實的視頻隱藏控件

NSDictionary *playerVars = @{ 
          @"controls" : @0, 
          @"playsinline" : @1, 
          @"autohide" : @1, 
          @"showinfo" : @0, 
          @"modestbranding" : @1, 
          @"rel":@0 
          }; 

爲了使按鈕點擊視頻全屏播放,請嘗試保存當前視頻經過時間,並通過改變playerVars到以編程方式顯示控件並觸發全屏幕按鈕操作(視頻以全屏播放),並尋求從播放時間播放視頻的方法。

對於靜音/取消靜音,儘量減少目前的手機音量編程靜音,並將其放在取消靜音

我不認爲蘋果提供的API來改變音量。 只有用戶可以使用硬件控件