Aller au contenu
kilander

[Recherche] Enregistrement d'une source audio

Recommended Posts

Bonjour,

Dans le but de créer une boîte à rythme je dois récupérer et enregistrer les sons joués par l'utilisateur ou sa voix.

J'ai donc utiliser la classe Media Recorder qui permet, en indiquant la source, d'enregistrer un son.

Pour enregistrer la voix de l'utilisateur j'ai trouvé la méthode suivante :

mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

Audio.Source.MIC indiquant l'entrée micro..

Différents bouton jouant différentes notes sont disponibles sur mon appli, je cherche donc une méthode permettant d'enregistrer les sons joués et d'ensuite les restituer. Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

j'essais de comprendre dsl si ce que je dis ne correspond pas à ton besoin

si le son que tu veux capter est joué par ton appli suite à un appuis sur un bouton c'est que le son en qestion tu l'as déjà tu n'as donc pas besoin de l'enregistrer pour le restituer

d'un autre coté si tu veux vraiment l'enregistrer la source demeurra le micro même si le son est émis par le téléphone (hauparleur) !

Partager ce message


Lien à poster
Partager sur d’autres sites

J'avoue que je n'étais pas très clair, en fait je cherche une méthode qui permet de capturer les flux audio passant par le téléphone. Par exemple l'utilisateur peut jouer une mélodie via les boutons disponibles et ensuite la réecouter grâce à la capture du son qu'il a joué.

J'ai regardé sur android developers les classes outputstream en essayant de lire ça byte par byte mais bon sans succés...

Partager ce message


Lien à poster
Partager sur d’autres sites

bah si tu arrives à enregistrer la voix de l'utilisateur, rien n'empèche d'enregistrer en même temps les sons qui sortent du téléphone!

Partager ce message


Lien à poster
Partager sur d’autres sites

Edit : J'avais mal compris ton poste.

En gros, tu cherches à capturer les flux audio qui sont joué sur ton téléphone ? Par exemple si je lance une vidéo Youtube, tu voudrais récupérer le son de cette vidéo ?

Pour enregistrer un flux audio :

private MediaRecorder recorder;

public void StartRecording() {
Log.d("StartRecording", "On lance l'enregistrement");
recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path_file);
try {
	recorder.prepare();
} catch (IllegalStateException e) {
	Log.e("StartRecording", "IllegalStateException " + e.getMessage());
	e.printStackTrace();
} catch (IOException e) {
	Log.e("StartRecording", "IOException " + e.getMessage());
	e.printStackTrace();
}
recorder.start();   // Recording is now started
}

public void StopRecording() {
Log.e("StopRecording", "On stop l'enregistrement");
recorder.stop();
recorder.reset();   // You can reuse the object by going back to setAudioSource() step
recorder.release(); // Now the object cannot be reused
}

Source : http://android.devel...faq/?page=perId

Modifié par JakeRTFM

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour, cela fait plusieurs jours que j'essaie d'enregistrer des sons à partir de mon micro, j'ai essayais plein de choses, y compris MediaRecorder.
Il ne me détecte aucune erreur, l'appli se lance mais une fois sur mon téléphone cela me dit que l'application a malheureusement du s’arrêter.

Le fichier log me signale que l'erreur vient de cette méthode :

recorder.setAudioSource(MediaRecorder.AudioSource.MIC);

Qqn a une idée de pourquoi setAudioSource ne marche pas chez moi ? Pourtant je vous assure que j'ai un micro sur mon téléphone ^^

Merci, d'avance.  :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour,

 

Et quelle est l'erreur qui se produit ? (dans le fichier de log)

Partager ce message


Lien à poster
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.






×
×
  • Créer...