1

目前我正在开发一个安卓应用程序,其中我们具有下载 youtube 视频的功能,谷歌也允许在我们的应用程序中下载 youtube 视频

谢谢

4

3 回答 3

4

据我所知,您不能直接这样做..

目前你正在做的是,在 url 上打开一个 http 连接,然后保存缓冲区。

根据谷歌的线程,这是不允许的

http://support.google.com/youtube/bin/answer.py?hl=en&answer=56100

但当然还有其他方法:

就像我在其他网站上注意到的一样,他们自己在dailymotion等网站上上传内容,然后创建一个新网站,在其中提供此视频上传网站链接,然后他们说“这是第三方内容,我们不托管此视频"

这样做基本上是为了避免版权法。

在这种情况下,视频创作者将不得不起诉dailymotion之类的网站,而不是视频上传者,这对于小玩家来说并不容易。

但是他们再次请专家律师告诉他们可以做些什么来避免版权并让他们的@ss陷入困境,因为他们基本上是在利用一些漏洞。

所以无论你做什么,你都需要专家的建议,因为直接,这是非法的。

于 2013-04-10T10:25:14.397 回答
1

不,那将是非法的。谷歌不允许这样做。您只能在 web 视图中查看视频。
[编辑]
您可以在任何视图中流式传输视频。但我不知道那个人的法律后果。

于 2013-04-10T09:57:48.320 回答
1
URL u = null;
InputStream is = null;  

     try {
              u = new URL(url);
              is = u.openStream(); 
              HttpURLConnection huc = (HttpURLConnection)u.openConnection();//to know the size of video
              int size = huc.getContentLength();                 

          if(huc != null){
              String fileName = "FILE.mp4";
              String storagePath = Environment.getExternalStorageDirectory().toString();
              File f = new File(storagePath,fileName);

              FileOutputStream fos = new FileOutputStream(f);
              byte[] buffer = new byte[1024];
              int len1 = 0;
              if(is != null){
                 while ((len1 = is.read(buffer)) > 0) {
                       fos.write(buffer,0, len1);   
                 }
              }
              if(fos != null){
                 fos.close();
              }
          }                     
     }catch (MalformedURLException mue) {
            mue.printStackTrace();
     } catch (IOException ioe) {
            ioe.printStackTrace();
    } finally {
               try {                
                 if(is != null){
                   is.close();
                 }
               }catch (IOException ioe) {
                     // just going to ignore this one
               }
    }

这在某些情况下有效,在某些情况下无效。在这种情况下,您需要从 html 源代码中获取 url,删除不必要的内容并使用此代码解码 url 以下载。

从此链接复制的答案

于 2013-04-10T10:02:52.213 回答