2013-12-06 4 views
0

Я уже успел отобразить эскиз видео с URL-адреса моего приложения для Android при подключении к Интернету, но когда подключение к Интернету отключено, миниатюра не отображается.thumbnail видео с url используя изображение?

вот мой код.

Bitmap bmThumbnail; 

bmThumbnail = ThumbnailUtils.createVideoThumbnail("http://somedomain.com/video/myvideo.mp4", Thumbnails.MICRO_KIND); 
imgPhoto.setImageBitmap(bmThumbnail); 

я хочу эскиз еще показать, хотя связь выключена, есть далеко, чтобы достичь, как сохранить кэш на sdcard первых, как кэш изображений делает? или любое другое решение для показа видео эскизов при отключении интернет-соединения? спасибо,

+0

не могли бы вы поделиться кодом для генерации видео эскиза с URL-адресом – Anitha

ответ

0
public static String getBitmapFromURL(final Activity activity, String link, 
      String filename) throws FileNotFoundException, 
      MalformedURLException, IOException { 

     /*--- this method downloads an Image from the given URL, 
     * then decodes and returns a Bitmap object 
     ---*/ 

     File file = null; 


     file = new File(Environment.getExternalStorageDirectory() 
       .getAbsolutePath() 
       + CommonVariable.KCS_IMAGE_FOLDER_NAME_PHONE_MEMORY); 

     // have the object build the directory structure, if needed. 
     if (!file.exists()) { 
      file.mkdirs(); 
     } 
     // create a File object for the output file 
     File outputFile = new File(file, filename); 
     FileOutputStream fos = new FileOutputStream(outputFile); 
     BufferedOutputStream out = new BufferedOutputStream(fos, 1024); 
     URL url = new URL(link); 
     HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoInput(true); 
     connection.connect(); 
     InputStream input = connection.getInputStream(); 

     out = new BufferedOutputStream(fos, 1024); 

     int b; 
     while ((b = input.read()) != -1) { 
      out.write(b); 
     } 
     out.close(); 
     connection.disconnect(); 

     return outputFile.getAbsolutePath(); 

    } 

использовать эту функцию, она будет возвращать строку SDCard path.and использовать этот путь и может установить растровое изображение, используя ниже функции:

public static void setImagesNew(ImageView img, String pathName, 
       Activity activity) { 


        Bitmap bmThumbnail = ThumbnailUtils.createVideoThumbnail(pathName, Thumbnails.MICRO_KIND); 
img.setImageBitmap(bmThumbnail); 


      bmp = null; 
      System.gc(); 
      Runtime.getRuntime().gc(); 

     } 

я надеюсь, что это полезно для вас. ..............

+0

код всегда скачивает файл первым, это не моя необходимость, я хочу сделать эскиз видео , например, захватить видео в первом кадре, чтобы стать файлом jpg и сохранить его на моей SD-карте, – ltvie

Смежные вопросы