2013-06-26 12 views
5

sembra che il videoView supporti solo alcuni metodi per la riproduzione di video, ma nessuno di questi supporta la forma più generica di riproduzione, il che è piuttosto strano (poiché pensavo che tutto altri metodi lo usano).come riprodurre un video utilizzando il videoView e un inputStream

la mia domanda: come posso impostare il videoView per riprodurre un inputStream (qualsiasi tipo di inputStream, anche il mio personalizzato)?

è possibile senza effettivamente copiare i dati su un file e quindi riprodurlo o avere una sorta di trucco per "filtrare" i dati?

Penso che manchi la stessa cosa per l'audio, ma non ne sono sicuro.

risposta

-1

solo provare questo:

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

il codice funziona leggendo l'intero video e la scrittura in un file. dovrebbe funzionare, ma quello che desidero è lo streaming live. ne ho persino scritto: "è possibile senza effettivamente copiare i dati in un file e poi riprodurlo o avere una sorta di trucco per" filtrare "i dati?" –

+0

forse è possibile aprire un nuovo thread che scriverà sul file, mentre impostiamo la lettura video del file usando il thread normale? –

Problemi correlati