Jak materiały wideo z Internetu poprzez nanoHTTPd do VideoView

głosy
6

Chcę, aby pobrać i odtwarzać pliki wideo podczas pobierania. Od VideoView nie pomaga w tej kwestii postanowiłem pracować z nanoHTTPd stworzyć serwer HTTP i pseudo wewnątrz własnym serwerze spróbuj pobrać plik wideo i odtwarzać je później, ale mój problem jest:

1-Jak mogę wylewać pobraną część do videoview i pobrać pozostałe części?

Oto moje źródło:

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);
        }
    }
Utwórz 05/09/2014 o 22:41
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
-1

Znaleźli sposób, można przeczytać więcej na ten temat tutaj: http://www.vahidhashemi.com/?p=120

Odpowiedział 29/04/2015 o 09:53
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more