1

私のアプリケーションには、ビデオを管理するためのカスタム UIButtons を持つビデオが含まれています。Youtube iFrame API を使用することで、UIWebView で YouTube ビデオを再生し、すべてのデフォルト コントロール (フルスクリーン、ボリュームなど) を非表示にすることができました。カスタムボタンでビデオを制御したいと思います。それ、どうやったら出来るの?- フルスクリーン UIButton: ビデオをフルスクリーンにします - ミュート/ミュート解除ボタン: ビデオをミュート/ミュート解除します

私の他の質問から画面を参照してください:

Objective-c: デフォルトのフルスクリーンなどの機能を削除してビデオを再生する

どうすればこれを解決できますか? 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]];
4

1 に答える 1

0

この組み合わせにより、ビデオはコントロールを非表示にします

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

ボタンのクリックでビデオを全画面表示するには、現在のビデオの経過時間を保存し、playerVars を変更してコントロールを表示し、全画面ボタン アクションをプログラムでトリガーします (ビデオは全画面で再生されます)。時間。

ミュート/ミュート解除の場合は、現在の電話の音量をプログラムで下げてミュートし、ミュート解除に設定してみてください

Apple がボリュームを変更するための API を提供しているとは思いません。ユーザーのみがハードウェア コントロールを使用して実行できます

于 2014-10-23T17:19:26.483 に答える