【问题标题】:How to Download a video using UIWebView如何使用 UIWebView 下载视频
【发布时间】:2012-12-31 10:32:36
【问题描述】:

我想使用网络视图下载视频,但不知道如何下载? 我的视频链接是here

我正在使用的播放视频的示例代码是

-(void)embedYouTubeInWebView:(NSString*)url theWebView:(UIWebView *)aWebView {
    NSString* html = [NSString stringWithFormat:@"%@", url];
    [aWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:html]]];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
   [self embedYouTubeInWebView:@"http://player.vimeo.com/video/32983838" theWebView:myWebView];
    // Do any additional setup after loading the view, typically from a nib.
}

谁能帮我下载这个视频?

【问题讨论】:

  • Youtube 最近已限制从任何外部来源下载任何视频。您不得从任何软件或应用程序下载任何您的视频。您只能在 UIWebView 中查看它们。
  • 你检查过链接吗?这不是 youtube 链接
  • 是的,我检查过了...但它只是播放视频对吗?
  • 是的,我想下载这样的视频,但我不知道怎么下载?
  • 我告诉过你它不再被允许。我在我的安卓手机上有一个应用程序,它下载了 youtube 视频,但从 10 天开始。它停止工作..我搜索了它,发现它现在不再允许了。

标签: iphone ios xcode video uiwebview


【解决方案1】:

要下载文件,我使用了以下代码。希望它也对你有用。

- (IBAction)getFileFromFtpServer:(UIView *)sender
{

  NSString *stringURL = @"http://player.vimeo.com/video/32983838";
NSURL  *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
if ( urlData )
{
  NSArray       *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString  *documentsDirectory = [paths objectAtIndex:0];  

  NSString  *filePath = [NSString stringWithFormat:@"%@/%@", documentsDirectory,@"filename.mpeg4"];
  [urlData writeToFile:filePath atomically:YES];
}


}

【讨论】:

    【解决方案2】:
        Try this here your video is playing..
    
     - (void)viewDidLoad
    {
      [super viewDidLoad];
      UIWebView*  webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 380)]; 
        webView.delegate=self;
       [webView setOpaque:NO];
        webView.backgroundColor=[UIColor clearColor];
        CGRect screen = [[UIScreen mainScreen] bounds];
        CGFloat width = CGRectGetWidth(screen);
        CGFloat height = CGRectGetHeight(screen);
       UIActivityIndicatorView * activityIndicator = [[UIActivityIndicatorView alloc]        initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
        activityIndicator.frame=CGRectMake((width/2) - 10,(height/2) - 54, 20, 20);
        activityIndicator.center=self.view.center;
        [activityIndicator hidesWhenStopped];
    
       [self  playVideo];
    }
      -(void) playVideo
        {
         NSURL *url = [NSURL URLWithString:@"http://player.vimeo.com/video/32983838"];
                NSURLRequest *request = [NSURLRequest requestWithURL:url];
                [self.webView loadRequest:request];
                [activityIndicator startAnimating];
                [webView addSubview:activityIndicator];
        }
    
        /*   WebViewDidStartLoad   */
        - (void)webViewDidStartLoad:(UIWebView *)webView
        {
           [activityIndicator startAnimating];
            [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
        }
    
        /*   WebViewDidFinishLoad   */
        - (void)webViewDidFinishLoad:(UIWebView *)webView
        {
             [activityIndicator stopAnimating];
            [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
        }
        /*   WebViewdidFailLoadWithError   */
        - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
        {
            [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
        }
    

    【讨论】:

    • 这仅用于播放我需要下载的视频
    • NSString VideoPath;NSURL *urlVideo = [NSURL URLWithString:@"player.vimeo.com/video/32983838"];NSDataurlVideoData =[NSData dataWithContentsOfURL:urlVideo]; if(urlVideoData {NSArray*pathVideo=NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [pathVideo objectAtIndex:0];VideoPath=[NSString stringWithFormat:@"%@/%@", documentsDirectory,@"youtubeVideo"];[urlVideoData writeToFile:filePath atomically:YES] ;}[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:VideoPath]]];试试这个你的视频将被下载
    • filePath 替换为 VideoPath,如 [urlVideoData writeToFile:VideoPath atomically:YES];
    • 请给我正确的答案我没有得到你想说的
    【解决方案3】:

    如果我理解正确并回应上述内容,由于侵犯版权,谷歌已经关闭了几个“转换网站”:http://www.real.com/resources/youtube-to-mp3-converter 还有其他网站可以下载视频内容(同样,假设您遵守版权指南):这列出了五个网站,您可以在其中免费找到和下载在线视频。为确保视频可以合法下载,请查找有关视频的许可信息。通常,具有“知识共享”许可的视频可以合法下载,但可能会限制您使用视频的方式。 http://www.real.com/resources/download-one-video

    【讨论】:

      猜你喜欢
      • 2012-09-01
      • 2018-05-19
      • 2011-01-24
      • 2011-11-23
      • 2018-07-22
      • 2019-11-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      相关资源
      最近更新 更多