2013-04-19 15 views
6

Mi sono guardato intorno da qualche giorno, ma non sono riuscito a ottenere una risposta chiara su come farlo.Decrittografia audio/video al volo su MediaPlayer

Ho alcuni file audio/video crittografati sulla mia sdcard, che mi piacerebbe riprodurre che invierà a MediaPlayer, e iniziare a giocare mentre la decrittografia funziona allo stesso tempo. Generalmente crea un buffer e, quando ha abbastanza dati iniziali per iniziare a giocare, MediaPlayer inizia a giocare, e su decrittografia in background e continua a inviare i dati.

Mi sono guardato intorno e la maggior parte della soluzione sembra indicare un server di local https e quindi inviare il file al server, e quando ritorna, inizierà a riprodurre l'audio/video come un live streaming. Quello che non so è dove arriva il codice di decodifica? Nel lato server? Se sì, in quale parte di esso?

Ho anche visto questa soluzione http://libeasy.alwaysdata.net/, che forse è in grado di risolverlo, ma non riesco a capire come funziona. So che crea un localserver, ma nella parte Cipher, come entra in gioco la mia decrittazione?

Dato che sono abbastanza nuovo per lo sviluppo di Android, così mi sopporto se non sono chiaro o altro.

Grazie.

+0

Hai avuto alcuna soluzione per questo? Non riesco a riprodurre il video crittografato – user1444172

+0

Questa non è la soluzione migliore poiché non è possibile guardare il video se non si è online. Ti fa anche dipendere dalla velocità della connessione internet. Prova a cercare qualcosa da fare Job localmente sul dispositivo. Se i file sono di piccole dimensioni. Puoi farlo una volta, ma questo non funzionerà se hai a che fare con file di grandi dimensioni. –

risposta

0

La decrittografia viene eseguita dal server http, se viene fornito un codice.
Codice qualcosa di simile (si dovrà aggiungere l'eccezione di cattura da qualche parte):

import javax.crypto.Cipher; 
private Cipher myGetCipher() { 
    Cipher c = Cipher.getInstance("RC4"); 
    c.init(Cipher.DECRYPT_MODE, new SecretKeySpec("myPassword".getBytes(), "RC4")); 
    return c 
} 
+0

Ciao @ libeasy, sto seguendo i tuoi messaggi da diversi posti. Provato come sotto: Ma il video criptato non gioca con la stessa chiave e cifrario. Pls. vedere il mio codice qui sotto: (sto incollando il mio codice come risposta separata, questo spazio dei commenti non è sufficiente – user1444172

+0

Per questo tipo di assistenza, si prega di utilizzare il contatto indicato sul sito. Ricorda pure che dicendo che qualcosa non funziona doesn Aiuta molto, invece di fornire un vero report, con logcat e dettagli sul dispositivo e il contesto. – libeasy