J'ai lu le SDK Android et j'ai découvert que la classe MediaRecorder peut prendre en charge une entrée provenant d'une caméra, de l'audio ou d'une autre source et la compresser. Grâce à la méthode setOutputFile, vous pouvez spécifier où vous souhaitez stocker les données (Fichier ou URI), mais que se passe-t-il si je veux stocker ces données dans un tampon mémoire et les envoyer via une connexion? Ou le traiter avant de l'envoyer? Je veux dire est-il un moyen de ne pas créer un fichier mais d'utiliser un tampon de mémoire seulement?Android MediaRecorder et setOutputFile
7
A
Répondre
1
Vous pouvez bien sûr lire le fichier plus tard et faire ce que vous voulez avec le traitement. En supposant que vous détenez l'Uri dans le fichier audio résultant, voici un fragment de code qui le lit dans un tableau d'octets, puis supprime le fichier.
String audioUri = u.getPath();
InputStream in = new BufferedInputStream(this.getContentResolver().openInputStream(u));
byte[] b = new byte[BUFSIZE];
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(mFileName/*mFilePath*/)));
int byteCnt = 0;
while (0 <= (byteCnt = in.read(b, 0, BUFSIZE)))
out.write(b, 0, byteCnt);
out.flush();
out.close();
// try to delete media file
try {
// Delete media file pointed to by Uri
new File(getRealPathFromURI(u)).delete();
} catch (Exception ex) {}
public String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
Cursor cursor = managedQuery(contentUri, proj, null, null, null);
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
Questions connexes
- 1. MediaRecorder et UDP (DatagramSocket) dans Android
- 2. Problème avec android MediaRecorder setVideoSize()
- 3. CallBack pour le bloc enregistré dans MediaRecorder
- 4. La préparation de MediaRecorder a échoué
- 5. Android Audio Record
- 6. Comment conserver l'enregistrement du MediaRecorder après un changement d'orientation?
- 7. Android: Comment initialiser MediaRecorder sans une surface valide pour l'aperçu vidéo?
- 8. Silence de MediaRecorder au début de l'enregistrement (délai?)
- 9. comment changer l'orientation de la vidéo dans MediaRecorder à portrait
- 10. Android - Comment capturer et boucler la vidéo sur l'écran?
- 11. Enregistrement audio Android
- 12. filtres android, audio
- 13. Android MediaRecoder l'écrit sur une socket
- 14. Comment savoir si un MediaRecorder est en cours d'exécution ou non?
- 15. Application Android et Timers
- 16. Android SDK et XQuery?
- 17. Android 2.3 et Adhoc
- 18. Android: Webview et Activité
- 19. Onglets et intentions Android
- 20. Android et java.util.concurrent.ConcurrentLinkedQueue
- 21. Services Android et RESTful
- 22. comment textview et android
- 23. Android. Autocompletetextview et sqlite
- 24. Android et php
- 25. android et les annonces
- 26. JSON et ANDROID
- 27. Android AsyncTask et
- 28. Activités et vues Android
- 29. Android et la réflexion
- 30. Emplacement et threads Android