【问题标题】:ios: youtube video mute through custom buttonios:通过自定义按钮将 youtube 视频静音
【发布时间】:2013-07-23 11:59:47
【问题描述】:

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

参考我其他问题的屏幕:

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

我该如何解决这个问题? 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]];

【问题讨论】:

  • 您是如何隐藏默认控件的,您是否找到了通过自定义控件控制视频的方法?

标签: ios video youtube youtube-api


【解决方案1】:

这个组合做视频隐藏控件

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

要使视频在按钮单击时全屏显示,请尝试保存当前视频经过的时间,并通过更改 playerVars 来显示控件并以编程方式触发全屏按钮操作(视频以全屏方式播放)和 seek to 方法来播放经过时间的视频。

对于静音/取消静音,请尝试以编程方式降低当前手机音量以静音并将其设置为取消静音

我不认为苹果提供了改变音量的 api。 只有用户可以使用硬件控制来做到这一点

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 2015-01-17
    • 2022-07-25
    • 2014-07-13
    • 1970-01-01
    • 2011-10-14
    • 2012-07-23
    • 1970-01-01
    • 2015-03-15
    相关资源
    最近更新 更多