Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ios:youtube视频通过自定义按钮静音_Ios_Video_Youtube_Youtube Api - Fatal编程技术网

ios:youtube视频通过自定义按钮静音

ios:youtube视频通过自定义按钮静音,ios,video,youtube,youtube-api,Ios,Video,Youtube,Youtube Api,我的应用程序包含一个带有自定义UI按钮的视频,用于管理视频。 通过使用Youtube iFrame api,我成功地在UIWebView中播放Youtube视频并隐藏其所有默认控件(全屏、音量等)。 现在我想通过自定义按钮控制视频。 我该怎么做? -全屏显示按钮:使视频全屏显示 -静音/取消静音按钮:静音/取消静音视频 请参阅我的其他问题中的屏幕: 我如何解决这个问题?UIWebview中的视频代码: NSString *htmlString =@"<!DOCTYPE html>

我的应用程序包含一个带有自定义UI按钮的视频,用于管理视频。 通过使用Youtube iFrame api,我成功地在UIWebView中播放Youtube视频并隐藏其所有默认控件(全屏、音量等)。 现在我想通过自定义按钮控制视频。 我该怎么做? -全屏显示按钮:使视频全屏显示 -静音/取消静音按钮:静音/取消静音视频

请参阅我的其他问题中的屏幕:

我如何解决这个问题?UIWebview中的视频代码:

 NSString *htmlString =@"<!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]];
NSString*htmlString=@“var tag=document.createElement('script');tag.src=\”https://www.youtube.com/iframe_api\“var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(标记,firstScriptTag);var player;函数onYouTubeIframeAPIReady(){player=new YT.player('player'),{height:'196',width:'309',videoId:'goixqcbzym',playerBars:{playsinline:1,controls:0},events:{'onReady':onPlayerReady,'onStateChange':onPlayerStateChange};}函数onPlayerReady(event){event.target.playVideo();}var done=false;函数onPlayerStateChange(event){if(event.data==YT.PlayerState.player.PLAYING&&!done){setTimeout(stopVideo,6000);done=true;}}}函数stopVideo(){}”;
_webViewVideo.delegate=self;
静态NSString*youTubeVideoHTML=@;
[_WebViewVideoLoadHtmlString:htmlString baseURL:[[NSBundle mainBundle]resourceURL]];

此组合不会使视频隐藏控件

NSDictionary *playerVars = @{
                             @"controls" : @0,
                             @"playsinline" : @1,
                             @"autohide" : @1,
                             @"showinfo" : @0,
                             @"modestbranding" : @1,
                             @"rel":@0
                             };
要使视频在按钮单击时全屏显示,请尝试保存当前视频经过的时间,并通过更改PlayerBars以编程方式显示控件和触发全屏按钮操作(视频以全屏方式播放)以及seek To方法从经过的时间播放视频

对于静音/取消静音,请尝试通过编程方式将当前电话音量降低为静音,并将其设置为取消静音

我认为苹果没有提供api来改变音量。
只有用户可以使用硬件控件进行此操作

您是如何隐藏默认控件的?您是否找到了通过自定义控件控制视频的方法?
NSDictionary *playerVars = @{
                             @"controls" : @0,
                             @"playsinline" : @1,
                             @"autohide" : @1,
                             @"showinfo" : @0,
                             @"modestbranding" : @1,
                             @"rel":@0
                             };