Aller au contenu

[Recherche] Enregistrement d'une source audio


kilander

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

Lien vers le commentaire
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) !

Lien vers le commentaire
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...

Lien vers le commentaire
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
Lien vers le commentaire
Partager sur d’autres 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

Lien vers le commentaire
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é
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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...