2

フルスクリーンを占有しない Web ビューがあります。URLをYouTubeビデオに設定して、Webビューエリアでビデオを再生します。デバイスの向きを変更すると、ビューのサイズは変更されますが、コンテンツは変更されません。Web ビューのフラグに合わせてスケール ページを設定すると、方向が適切に変更されますが、方向に関係なく、ビデオの右側と下部に常に空白が表示されます。

ビデオを Web ビュー全体に表示し、無駄なパディングなしで向きを変更してサイズを変更するにはどうすればよいですか。または、iPhoneのようにビデオをフルスクリーンで再生するにはどうすればよいですか(これは、レイアウトの問題をスキップして、私にとって実行可能な代替手段になります)

4

2 に答える 2

1

このチュートリアルを読んで、問題を解決できました。 http://webdesignerwall.com/tutorials/css-elastic-videos

基本的に、含まれているアイテムのサイズを縦向きと横向きに設定できます。

また、固定幅ではなく、高さ幅が 100% になるようにオブジェクトの埋め込みコードを設定します。

これは私のhtmlです:

<span class="youtube">
    <object type="application/x-shockwave-flash" id="ytPlayer" style="visibility: visible;" allowscriptaccess="always">
    </object>
</span>

これは私のJavaScriptです:

var ytswf = document.getElementById('ytPlayer');
var videoID = 'Nky9omXFZD4';
ytswf.outerHTML = "<object height=\"100%\" width=\"100%\" type=\"application/x-shockwave-flash\" data=\"http://www.youtube.com/v/" + videoID + "&amp;enablejsapi=1&amp;playerapiid=ytplayerObj&amp;rel=0&amp;fs=1&amp;autoplay=0&amp;egm=0\" id=\"ytPlayer\" style=\"visibility: visible;\" ><param name=\"allowFullScreen\" value=\"True\" /><param name=\"allowScriptAccess\" value=\"always\" /></object>";

これは私のcssです:

.youtube{width:432px; height:245px;}
@media only screen and (orientation:portrait)
{
   .youtube{width:702px; height:398px;}
}
于 2012-10-17T16:41:03.323 に答える
0

私は次のコードを使用していますが、それは私にとってはうまくいきます

    // css
    // You can add your own width and height values or insert this values using stringWithFormat
    NSString *css = @"<style type=\"text/css\">\
    .youtube{width:320px; height:363px;}\
    @media only screen and (orientation:portrait) { \
    .youtube{width:320px; height:363px;}\
    }\
    \
    @media only screen and (orientation:landscape) {\
    .youtube{width:480px; height:203px;}\
    }\
    </style>\
    ";

    // different format of urls for iOS 5 and iOS 6
    NSString *src = ([[[UIDevice currentDevice] systemVersion] compare:@"6" options:NSNumericSearch] == NSOrderedAscending)
    ? @"http://www.youtube.com/watch?v=%@?autoplay=1"        //  iOS  5
    : @"http://www.youtube.com/v/%@?autoplay=1";             //  iOS  6

    // inserting css in <head> and inserting src
    NSString *youTubeVideoHTML =  [NSString stringWithFormat:
                                   (@"<html><head>%@</head>\
                                    <body style=\"margin:0\">\
                                    <embed class=\"youtube\" id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
                                    ></embed>\
                                    </body></html>") , css , src  ];
    // setting YouTube video ID
    finalHtml = [NSString stringWithFormat: youTubeVideoHTML , videoID ];

    [self.webView loadHTMLString:finalHtml baseURL:nil];
于 2013-01-22T11:48:37.090 に答える