Jump to content

[Recherche] Enregistrement d'une source audio


kilander
 Share

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

Link to comment
Share on other 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) !

Link to comment
Share on other 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...

Link to comment
Share on other 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

Edited by JakeRTFM
Link to comment
Share on other sites

  • 1 year later...

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...