2012-04-04 4 views
0

LoadHtmlString UIWebViewが機能していません。私はあなたにチューブビデオを埋め込むようにしたい。埋め込みHTML文字列で試してみました。しかし、いくつかは壊れているようです私は白い画面が表示されます私は次のように試してみましたビデオファイルを再生するためのUIWebView loadHTMLString

NSString* html = @"<embed id=\"yt\" src=\"http://www.youtube.com/v/6eK-W32IME0?fs=1&hl=en_US&enablejsapi=1\" type=\"application/x-shockwave-flash\" width=\"330\" height=\"200\"></embed>"; 

NSString*html = @"<iframe class=\"youtube-player\" type=\"text/html\" width=\"320\" height=\"460\" src=\"http://www.youtube.com/watch?v=oEn9g4pNW9Y&feature=youtu.be\" frameborder=\"0\"> </iframe>"; 

[videoView loadHTMLString:html baseURL:nil]; 

しかし成功しません。誰も私を助けることができますか?私はここで何をしたのですか?おかげ

答えて

0

- (void)embedYouTube:(NSString*)urls frame:(CGRect)frame { 

    urls=[urls stringByAppendingString:@"&autoplay=1"]; 
    NSString *htmlString =[NSString stringWithFormat: @"<html><head> <meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = no, width = 212\"/></head> <body style=\"background:#F00;margin-top:0px;margin-left:0px\"><div><object width=\"212\" height=\"212\"><param name=\"movie\" value=\"%@\">",urls]; 

    NSString *htm2=[NSString stringWithFormat:@"</param><param name=\"wmode\" value=\"transparent\"></param> <embed src=\"%@\"type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"212\" height=\"212\"></embed> </object></div></body></html>",urls]; 
// NSString* embedHTML = @"<html><head> </head><body style=\"margin:0\"> <iframe title=\"YouTube video player\" class=\"youtube-player\" type=\"text/html\" width=\"%d\" height=\"%d\" src=\"%@\" frameborder=\"0\" allowFullScreen></iframe> </body></html>"; 

    NSString* html = [NSString stringWithFormat:@"%@%@",htmlString,htm2]; 
    float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 


    if(version<5.0) 
    { 

     NSRange r=[urls rangeOfString:@"v="]; 
     NSRange ran=NSMakeRange(r.location+2, [urls length]-r.location-2); 
     NSString *vid=[urls substringWithRange:ran]; 
    html=[NSString stringWithFormat:@"<embed id=\"yt\" src=\"http://www.youtube.com/watch?v=%@&fs=0\" type=\"application/x-shockwave-flash\" width=\"300\" height=\"300\"></embed>", vid]; 
    } 
    //NSLog(html); 
    if(webView == nil) { 
     webView = [[UIWebView alloc] initWithFrame:frame]; 
     [self.view addSubview:webView]; 
     [webView setDelegate:self]; 
    } 
    [webView loadHTMLString:html baseURL:nil]; 
} 

を試すことが

+0

おかげでダニエルが、それは私がMMAP(サイズ= 2147487744)を取得しています、機能していませんが(エラーコード= 12) ***エラーが失敗しました:私はしようとしていながら、地域を割り当てることができませんhttp://youtu.be/NWCHSD1UKN4 – Mangesh

+0

あなたのためのローディングビューはあまりにも長い時間チューブを表示しています。アプリが好きです。もっと提案できますか?ありがとう – Mangesh

+0

Danielありがとう私のコードでいくつかの変更を加えて、あなたのものを統合して、今働いています... – Mangesh

1

UIWebViewて遊んユーチューブビデオのこの種は、常にシミュレータ上の白い画面が表示されますことを心に留めておいてください役立ちます願っています。実際に動作するかどうかを知るためには、デバイスでテストする必要があります。

幸運を祈る!

+0

ありがとうHeliem、私はIOS 5.1デバイスでそれをテストしています。 – Mangesh

1

は、このコードを試してみてください。

NSString *html = @"\ 
    <html><head>\ 
    <style type=\"text/css\">\ 
    body {\ 
    background-color: transparent;\ 
    color: white;\ 
    }\ 
    </style>\ 
    </head><body style=\"margin:0\">\ 
    <embed id=\"yt\" src=\"http://www.youtube.com/v/6eK-W32IME0?fs=1&hl=en_US&enablejsapi=1\" type=\"application/x-shockwave-flash\" \ 
    width=\"320\" height=\"200\"></embed>\ 
    </body></html>"; 


    // Load the html into the webview 
    [videoView loadHTMLString:html baseURL:nil]; 

はまた、アメリカのiOSのあなたのテストの場合は「youtu.beは、」正常に動作しないことを私が発見しました。ローカライズする必要があります。あなたの助けのための

マイク

+0

ありがとうマイク....私は同じを使用しています... – Mangesh

関連する問題