簡體   English   中英

從google + / picasa android下載視頻

[英]video download from google+/picasa android

我們需要從google + / picasa下載視頻並將其存儲到sdcard中。 能否請任何人幫助我解決此問題? google + / picasa

在此處輸入圖片說明

URI轉換為byte[] ,然后將byte[]存儲到文件:

InputStream videoStream = getActivity().getContentResolver().openInputStream(videoUri);
byte bytes[] = ByteStreams.toByteArray(videoStream );
videoFile = new File("abcd.mp4");
FileOutputStream out = new FileOutputStream(videoFile);
out.write(bytes);
out.close();

你能嘗試一下嗎:

public String DownloadFromUrl(String DownloadUrl, String fileName) {

File SDCardRoot = null;
try {
    SDCardRoot = Environment.getExternalStorageDirectory();
    File files = new File(SDCardRoot+fileName);
    int sizeoffile;
    if(!files.exists()) 
    {
        File root = android.os.Environment.getExternalStorageDirectory();               

        File dir = new File (root.getAbsolutePath());
        if(dir.exists()==false) {
            dir.mkdirs();
        }

        URL url = new URL(DownloadUrl);
        File file = new File(dir, fileName);

        /* Open a connection to that URL. */
        URLConnection ucon = url.openConnection();
        sizeoffile = ucon.getContentLength();
        Log.d("SIZEOFFILE: ", sizeoffile+" BYTE");
        /*
         * Define InputStreams to read from the URLConnection.
         */
        InputStream is = ucon.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(is);

        /*
         * Read bytes to the Buffer until there is nothing more to read(-1).
         */
        ByteArrayBuffer baf = new ByteArrayBuffer(5000);
        int current = 0;
        while ((current = bis.read()) != -1) {
            baf.append((byte) current);
        }
        /* Convert the Bytes read to a String. */
        FileOutputStream fos = new FileOutputStream(file);
        fos.write(baf.toByteArray());
        fos.flush();
        fos.close();
    }
}
catch (IOException e) {
    e.getMessage();
}

return SDCardRoot+fileName; }
Finally i found the solution.



 Uri videoUri = data.getData();
                    File videoFile = null;
                    final InputStream imageStream;
                    try {
                        imageStream = getActivity().getContentResolver().openInputStream(videoUri);
                        byte bytes[] = ByteStreams.toByteArray(imageStream);//IStoByteArray(imageStream);
                        videoFile = new File(Environment.getExternalStorageDirectory()+    "/"+System.currentTimeMillis()+".mp4");
                        videoFile.createNewFile();
                        FileOutputStream out = new FileOutputStream(videoFile);
                        out.write(bytes);
                        out.close();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    }catch (Exception ee){
                        ee.printStackTrace();
                    }

我最近遇到了這個。

我首先發現我收到的是圖片而不是視頻。

但是我不明白為什么Facebook成功地播放了我通過(Google+的)照片分享的在線視頻。

然后,我偶爾發現他們當前提供的文件是contentUri的MediaStore.Images.Media.DISPLAY_NAME部分中具有原始擴展名的GIF

eek!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM