9

全画面webkitExitFullScreenでモバイル (iPhone) サファリ ( ) 機能にアクセスするにはどうすればよいですか。webkit

ビデオを使用するiPhoneでは、IFrame API常にフルスクリーンで再生されますが、後で.jsのようなJSを介してさまざまな機能にアクセスできませんwebkitExitFullScreen

これは、こちらのYouTube API フォーラムのフォーラムとチームに既に提出されていることがわかりました。

https://groups.google.com/d/msg/youtube-api-gdata/fygn23jMbdE/pNE57RDl1gEJ

https://groups.google.com/forum/#!msg/youtube-api-gdata/7ioV74oFX84/U8zQ7-Yl9w4J

私は、彼らの質問、特に最後の質問は 1 年も前のことなので、フォローアップしたいと思いました。しかし、グループは現在閉鎖されており、ここに提出する必要があると言われました. これがAPIのどこかにすでに実装されていて、見逃していた可能性があるかどうか、誰かが知っていますか? または、チームに連絡して、進捗状況や状況について直接尋ねる方法はありますか?

4

1 に答える 1

1

これをviewdidloadに書いてください

 webView112 = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
webView112.backgroundColor = [UIColor redColor];
webView112.allowsInlineMediaPlayback = YES;
webView112.mediaPlaybackRequiresUserAction = NO;
webView112.delegate = self;
[self.view addSubview:webView112];

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"youtube" ofType:@"html"];
NSString *html = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

[webView112 loadHTMLString:html baseURL:[NSURL URLWithString:@"any static url"]];

以下のメソッドは、ビデオの完了後に起動します

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
if ( [[[request URL] scheme] isEqualToString:@"callback"] )
{

    NSLog(@"get callback");
    [webView112 removeFromSuperview];

    return NO;
}

return YES;}

.htmlファイルを作成し、このコードを.htmlファイルに貼り付けます

<html>
<head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>

    <script>
        var elapsed = -1;
        var isPlayerLoaded = false;
        var tag = document.createElement('script');
        tag.src = "http://www.youtube.com/player_api";
        var firstScriptTag = document.getElementsByTagName('script')[0];
        firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

        // 4. The API will call this function when the video player is ready.
        function onPlayerReady(event) {
            player.playVideo();
        }

        //            function onPlayerError(event) {
        //            }
        //
        function onPlayerStateChange(event) {
            var state = '';
            switch(event.data) {
                case YT.PlayerState.ENDED:
                   window.location = "callback:anything";
                    break;
                case YT.PlayerState.PLAYING:
                    state = 'playing';
                    break;
                case YT.PlayerState.PAUSED:
                    state = 'paused';
                    break;
                case YT.PlayerState.BUFFERING:
                    state = 'buffering';
                    break;
                case YT.PlayerState.CUED:
                    state = 'cued';
                    break;
                default:
                    state = 'unstarted';
                    break;
            }
            jQuery('#log').append(state + "<br/>");
        }

        // 3. This function creates an <iframe> (and YouTube player)
        //    after the API code downloads.
        var player;
        function onYouTubePlayerAPIReady() {
            player = new YT.Player('player', {
                                   height: '400',
                                   width: '320',
                                   videoId: 'y84oAUjA8ms',
                                   playerVars: { 'autoplay': 0, 'modestbranding': 1, 'rel': 0, 'showinfo': 0, 'iv_load_policy': 3, 'controls': 1, 'playsinline':1 },
                                   events: {
                                   'onReady': onPlayerReady,
                                   'onStateChange': onPlayerStateChange
                                   //                                       'onError': onPlayerError
                                   }
                                   });
        }

        </script>
</head>
<body style="padding:0;margin:0;background-color:#000000;">
    <div id="log" style="background:#fff;height:0px;width:0%;margin-top:0px;"></div>
    <div id="player" frameborder="0"></div>
</body>

于 2015-05-23T10:07:14.603 に答える