2014-09-05 17 views
6

İndirme sırasında video dosyalarını indirmek ve oynatmak istiyorum. VideoView bu konuda yardımcı olmadığından, bir HTTP sunucusu oluşturmak için nanoHTTPd ile çalışmaya karar verdim ve kendi sunucumun içinde video dosyasını indirip sonra oynatmaya çalışıyorum ama sorun şu:nanoHTTPd aracılığıyla video akışını videodan akışa dönüştürme VideoView

1-Nasıl indirilebiliyor? video bölümünün parçası ve kalan parçaları indirebilir misiniz?

public class VideoStreamingServer extends NanoHTTPD { 

     public VideoStreamingServer() { 
      // by default listening on port 8080 
      super(8080); 
     } 

     @Override 
     public Response serve(String URI, Method method, 
           Map header, Map parameters, Map files) { 

      FileInputStream fis = null; 
      try { 
//    fis = new FileInputStream("/mnt/sdcard/p/1.mp4"); 

       File bufferFile = File.createTempFile("test", "mp4"); 

       BufferedOutputStream bufferOS = new BufferedOutputStream(
         new FileOutputStream(bufferFile)); 

       HttpClient client = new DefaultHttpClient(); 
       HttpGet request = new HttpGet("http://www.example.net/dl/1.mp4"); 
       HttpResponse response = client.execute(request); 
       Header[] headers = response.getAllHeaders(); 
       Log.e("Internet buffer", "connected to server"); 

       BufferedInputStream bis = new BufferedInputStream(response.getEntity().getContent(), 2048); 


       byte[] buffer = new byte[16384]; 
       int numRead; 
       boolean started = false; 
       while ((numRead = bis.read(buffer)) != -1) { 

        bufferOS.write(buffer, 0, numRead); 
        bufferOS.flush(); 
        totalRead += numRead; 
        if (totalRead > 120000 && !started) { 
          //problem starts here 
          //How can I flush the buffer to VideoView? 


        } 

       } 


      } catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } catch (IOException e) { 
       e.printStackTrace(); 
      } 


      return new NanoHTTPD.Response(Response.Status.OK, "video/mp4", fis); 
     } 
    } 
+0

bakış, sayfanın ortasında bir cevaptır

ardından benim kaynağıdır. com/questions/9987042/videoview-onresume-kaybeder-buffered-of-the-video – CristiC777

cevap

-1

bir yolunu buldum, buradan bu konuda daha fazla bilgi bulabilirsiniz: http: // stackoverflow burada http://www.vahidhashemi.com/?p=120

+2

Bu sadece bir bağlantı cevaptır sevmiyorum, ama yardımcı olur (ve henüz ölmedi). Genel düşünceyi açıklayabilirseniz daha iyi olurdu, bu yüzden bağlantı öldüğünde burada kalır (sonunda * ölecektir *). O zaman onu reddederim. – Matthieu