Je développe ma première application Android . C'est l'application d'enregistrement vocal. J'enregistrer la voix avec MediaRecord comme ceci:Lancement de Media Player en utilisant l'intention
mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(mFileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
}
mRecorder.start();
et moi avons une autre activité pour la lecture de ces des voix enregistrées (.3gpp
fichiers). Dans cette activité, il y a un ListView contenant mes voix enregistrées. Je veux jouer du son avec n'importe quel lecteur de musique installé sur le téléphone. Voici mon code: (Source pour ce code: https://stackoverflow.com/a/3367231/556169)
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File((String) ((TextView) item).getText());
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
Mais je reçois une erreur "lecteur de musique ne peut pas jouer ce type de média".
Lorsque je parcours ces fichiers audio et les restitue via mon explorateur de fichiers, ça fonctionne parfaitement (c'est méchant, je suis en train d'enregistrer des voix, avec succès). Mais quand j'utilise Intent dans mon application, je reçois une erreur.
SUPPLEMENTAIRE Je ne peux pas utiliser MediaStore.INTENT_ACTION_MUSIC_PLAYER
parce qu'il est dépréciée. Je ne peux pas utiliser Intent.CATEGORY_APP_MUSIC
car il nécessite min API lvl 15. Le niveau d'API minimal de mon projet doit être 8.
Je l'ai essayé hier, il y a des problèmes. Sur Galaxy Note 2 (Android 4.1.2), j'obtiens 'Aucune activité trouvée pour gérer Intent {act = android.intent.category.APP_MUSIC dat = fichier: ///audiorecordtest20130612145343.3gp typ = audio/*}'. Et sur Galaxy S2 (Android 4.1.2), mon lecteur de musique se lance, puis s'éteint soudainement. – Eray
' ' –
Eray
Cela semble être un problème avec certains appareils Samsung n'enregistrant pas correctement leur lecteur de musique. Voir [ici] (http://stackoverflow.com/questions/12532207/open-music-player-on-galaxy-s3) pour plus d'informations. – free3dom