2013-06-26 9 views
5

es scheint, dass das videoView nur ein paar Methoden zum Abspielen von Video unterstützt, aber keines von ihnen hegt die allgemeinste Form des Spielens, das ist ziemlich merkwürdig (da ich dachte, dass alle andere Methoden benutzen es).Wie man ein Video mit dem videoView und einem inputStream spielt

meine frage: wie kann ich das videoView ein inputStream (jede Art von inputStream, auch meine eigene angepasste) spielen?

ist es möglich, ohne tatsächlich die Daten in eine Datei zu kopieren und sie dann abzuspielen oder einen Trick zu haben, um die Daten zu "pipen"?

ich denke, das gleiche fehlt für Audio, aber ich bin mir nicht sicher.

Antwort

-1

gerade diese versuchen:

public static String getDataSource(InputStream inputStream) throws IOException { 
     if (!URLUtil.isNetworkUrl(path)) { 
      return path; 
     } else { 
      URL url = new URL(path); 
      URLConnection cn = url.openConnection(); 
      cn.connect(); 
      InputStream stream = inputStream; 
      if (stream == null) 
       throw new RuntimeException("stream is null"); 
      File temp = File.createTempFile("mediaplayertmp", "dat"); 
      temp.deleteOnExit(); 
      String tempPath = temp.getAbsolutePath(); 
      FileOutputStream out = new FileOutputStream(temp); 
      byte buf[] = new byte[128]; 
      do { 
       int numread = stream.read(buf); 
       if (numread <= 0) 
        break; 
       out.write(buf, 0, numread); 
      } while (true); 
      try { 
       stream.close(); 
       out.close(); 
      } catch (IOException ex) { 
       // Log.e(TAG, "error: " + ex.getMessage(), ex); 
      } 
      return tempPath; 
     } 
    } 
+0

Ihr Code funktioniert, indem das gesamte Video zu lesen und in eine Datei schreiben. es sollte funktionieren, aber was ich wünsche ist Live-Streaming. Ich habe sogar darüber geschrieben: "Ist es möglich, ohne die Daten tatsächlich in eine Datei zu kopieren und sie dann abzuspielen oder einen Trick zu haben, um die Daten durchzupfeifen?" –

+0

vielleicht ist es möglich, einen neuen Thread zu öffnen, der in die Datei schreibt, während wir den videoView aus der Datei mit dem normalen Thread lesen? –

Verwandte Themen