Sto sviluppando un'applicazione per Android che riprodurrà file mp3. Tuttavia i file mp3 sono crittografati sulla scheda SD o sqlite. In entrambi i casi, dopo la decrittazione, avrò un flusso di byte. Come li suono? MediaPlayer non accetta inputstream come parametro, quindi non posso prenderlo in considerazione.Come riprodurre un flusso audio di byte in Android?
risposta
Non sarà facile. L'ho già fatto su BlackBerry, quindi scommetto che è fattibile anche su Android.
Se fossi in te, registrerei un nuovo provider per il protocollo personalizzato "encryptedmp3:". Poi vorrei specificare questo in una fonte di dati per il MediaPlayer:
mediaplayer.setDataSource(this, URI.parse("encryptedmp3://....yourfile"));
Non sono sicuro di come creare un nuovo gestore di protocollo su Android.
Spero che questo aiuti un po '.
Emmanuel
Penso che è necessario memorizzare il flusso di file di sistema; allora si potrebbe provare a utilizzare setDataSource
metodo MediaPlayer
FileInputStream rawmp3file= new FileInputStream(yourByteArrayAsMp3File);
mediaPlayer.setDataSource(rawmp3file.getFD());
Se si potesse passare alla sorgente audio PCM, dare un'occhiata a AudioTrack classe.
La classe AudioTrack gestisce e riproduce una singola risorsa audio per Java applicazioni. Permette di trasmettere i buffer audio PCM all'hardware audio per la riproduzione. Ciò viene effettuato da "spingendo" i dati sull'oggetto AudioTrack utilizzando uno dei metodi write (byte [], int, int) e write (short [], int, int) .
Dai uno sguardo allo BASS library (gratuito per uso non commerciale).
Ecco un link per Android: http://www.un4seen.com/forum/?topic=13225.0
C'è BASS_StreamCreateFile funzione:
HSTREAM BASS_StreamCreateFile(
BOOL mem,
void *file,
QWORD offset,
QWORD length,
DWORD flags
);
Parametri:
mem TRUE = stream the file from memory.
file Filename (mem = FALSE) or a memory location (mem = TRUE).
- 1. come riprodurre file audio in Android
- 2. Come riprodurre un flusso audio HTTP live in MediaPlayer su Android?
- 3. il video in Android da un flusso di byte
- 4. Come riprodurre l'audio da un flusso in tempo reale
- 5. Android: MediaPlayer, Come ottenere le proprietà di un flusso audio?
- 6. impossibile riprodurre un file mp3 audio su Android android
- 7. Come riprodurre un file audio con jQuery?
- 8. Conversione di byte grezzi in audio audio
- 9. Come riprodurre un file audio AMR?
- 10. Elemento audio HTML come riprodurre?
- 11. Come riprodurre audio byte array (non file!) Con JavaScript in un browser
- 12. Come posso riprodurre video da byte in Android
- 13. Come posso intercettare il flusso audio su un dispositivo Android?
- 14. Come riprodurre un video dalla matrice Byte?
- 15. Come riprodurre file audio Mp3 dal server
- 16. Come riprodurre lo streaming audio/video da un URL?
- 17. Come posso riprodurre array di byte di dati grezzi audio usando NAudio?
- 18. Controlli audio Bluetooth in Android
- 19. Come riprodurre una risorsa file audio WPF
- 20. copia un flusso via byte []
- 21. Come riprodurre file audio all'avvio della chiamata?
- 22. Come riprodurre un file GIF in Android?
- 23. Come convertire un flusso di byte in un'altra codifica?
- 24. Come posso riprodurre lo streaming audio su Ethernet in Qt?
- 25. di riprodurre file audio con jQuery Mobile
- 26. Response.WriteFile - Scrive un flusso di byte
- 27. Come riprodurre un audio se si passa NSData?
- 28. Ricezione audio tramite Bluetooth in Android
- 29. Come riprodurre un file wave o file audio usando VBA
- 30. Come convertire MultipartFile nel flusso di byte
Possibilmente un duplicato di questo? Controlla la risposta accettata mentre parla della riproduzione di 'byte []': http://stackoverflow.com/questions/1972027/android-playing-mp3-from-byte – birryree
lo stream non dovrebbe essere disponibile per l'utente. Quindi, se faccio un file, l'utente può accedere al file e questa non è una buona idea per questo particolare progetto. – Vikram