-1

uiwebviewを使用してチューブビデオを再生したいのですが、次のコードを使用してビデオを再生しました

[self playVideo:@"http://www.youtube.com/watch?v=WL2l_Q1AR_Q" frame:CGRectMake(20, 70, 280, 250)];

- (void)playVideo:(NSString *)urlString frame:(CGRect)frame
{
    NSString *embedHTML = @"\
    <html><head>\
    <style type=\"text/css\">\
    body {\
    background-color: transparent;\
    color: white;\
    }\
    </style>\
    </head><body style=\"margin:0\">\
    <embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\" \
    width=\"%0.0f\" height=\"%0.0f\"></embed>\
    </body></html>";
    NSString *html = [NSString stringWithFormat:embedHTML, urlString, frame.size.width, frame.size.height];
    UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
    [videoView loadHTMLString:html baseURL:nil];
    [self.view addSubview:videoView];
    [videoView release];
    NSLog(@"%@",html);
}

しかし、シミュレーターでビデオを見ることができません。

誰かが私がどこで間違いを犯したかを言うことができますか?よろしくお願いします...

4

3 に答える 3

0

このコードはデバイスでのみ機能し、シミュレーターでは機能しないことに注意してください。

- (void)playVideo
    {
        float width = 200.0f;
            float height = 200.0f;

            NSString *youTubeURL = @"http://www.youtube.com/watch?v=ZiIcqZoQQwg";

            UIWebView *wv = [[[UIWebView alloc] init] autorelease];
            wv.frame = CGRectMake(60, 60, width, height);

            NSMutableString *html = [[[NSMutableString alloc] initWithCapacity:1] autorelease];
            [html appendString:@"<html><head>"];
            [html appendString:@"<style type=\"text/css\">"];
            [html appendString:@"body {"];
            [html appendString:@"background-color: transparent;"];
            [html appendString:@"color: white;"];
            [html appendString:@"}"];
            [html appendString:@"</style>"];
            [html appendString:@"</head><body style=\"margin:0\">"];
            [html appendFormat:@"<embed id=\"yt\" src=\"%@\" type=\"application/x-shockwave-flash\"", youTubeURL];
            [html appendFormat:@"width=\"%0.0f\" height=\"%0.0f\"></embed>", width, height];
            [html appendString:@"</body></html>"];

            [wv loadHTMLString:html baseURL:nil];

            [self.view addSubview:wv];
于 2012-09-22T11:09:37.230 に答える
0

このコードを使用して、youTubeビデオを表示します。//最初IBOutlet UIWebView *webViewに(.h)ファイルで初期化して合成します

   [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=ZiIcqZoQQwg"]]];
于 2012-09-22T11:14:10.867 に答える
0

コードは実際のデバイスで正常に機能します。iPhone 4iOS5.0でテストしました。問題は、コードではなく、シミュレーターにあると思います。

于 2012-09-22T12:01:06.070 に答える