How to play a Vimeo video in iOS?

2019-01-23 21:55发布

问题:

I've tried to search to web, but I couldn't find a topic not older than 1 year regarding this problem, therefore;

How can I play a Vimeo video in an iOS App?

EDIT1: When using the solution I'm sometimes getting this HTTP response from Vimeo

Why?

回答1:

This is my way of play a Vimeo video inside a app.

I am using iFrame to load Vimeo video inside my app.

follow this steps and you will too.

create a uiwebview and connect it to your .h file. Mine is _webView.

Add this method to your .m file.

-(void)embedVimeo{

NSString *embedHTML = @"<iframe width=\"300\" height=\"250\" src=\"http://www.vimeo.com/embed/rOPI5LDo7mg\" frameborder=\"0\" allowfullscreen></iframe>";

NSString *html = [NSString stringWithFormat:embedHTML];

[_webView loadHTMLString:html baseURL:nil];
[self.view addSubview:_webView];
}

I am using the embedded code in Vimeo video. (I hope you know what it is)

call this method inside your viewdidload

[self embedVimeo];

Run the app and you will see the video in your view. This way is perfectly working for me and i think this will help for your too.



回答2:

You can use YTVimeoExtractor, works fine for me.



回答3:

You can use this code

NSString *htmlStringToLoad = [NSString stringWithFormat:@"http://player.vimeo.com/video/%@?title=0&amp;byline=0&amp;portrait=0\%%22%%20width=\%%22%0.0f\%%22%%20height=\%%22%0.0f\%%22%%20frameborder=\%%230\%%22", videoID];
        [aWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:htmlStringToLoad]]];


回答4:

Please try this, It works for me, just some lines of code.

- (void)viewDidLoad
{
    [super viewDidLoad];
    vimeoHelper = [[VimeoHelper alloc] init];
    [vimeoHelper getVimeoRedirectUrlWithUrl:@"http://vimeo.com/52760742" delegate:(id)self];
}

- (void)finishedGetVimeoURL:(NSString *)url
{
    _moviePlayerController = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL URLWithString:url]];
    [self presentViewController:_moviePlayerController animated:NO completion:nil];
}


回答5:

Use Below Code the it will work fine

NSMutableString *html = [[NSMutableString alloc] initWithCapacity:1] ;
[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 appendString:@"<iframe src=\"//player.vimeo.com/video/84403700?autoplay=1&amp;loop=1\" width=\"1024\" height=\"768\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>"];
[html appendString:@"</body></html>"];


[viewWeb loadHTMLString:html baseURL:urlMovie];


回答6:

I've used this code:

NSString *embedSr = @"<iframe width=\"304\"height=\"350\" src=\"http://player.vimeo.com/video/... \" frameborder=\"0\" allowfullscreen></iframe>";

[[self WebView] loadHTMLString:embedSr baseURL:nil];


回答7:

I've tried the universal player, it is successful in device with iOS 5, but failed in iOS 4.2 with iPhone 3G. I don't know why. Here's the link to embed it.

Or you can embed manually from the Vimeo site, click embed, and configure the config as you wish.