2010-12-14 8 views
0

J'essaie d'enregistrer une voix à partir de Mic en utilisant la classe Media Recorder. dans la classe mentionnée, nous avons juste la méthode setOutputFile pour définir le fichier de sortie, mais je dois obtenir un tampon de certaines voix enregistrées, je veux dire j'ai besoin de quelque chose comme une méthode CallBack qui retourne un bloc d'octet enregistré à ce moment-là. va envoyer les octets mentionnés à un autre appareil ...CallBack pour le bloc enregistré dans MediaRecorder

En fait, je veux diffuser et envoyer la voix enregistrée via le socket à un autre appareil simultanément ne pas enregistrer la voix enregistrée, puis lire le fichier et l'envoyer, en raison de résultats un retard inattendu ...

+0

Si vous souhaitez une aide supplémentaire, essayez de répondre à quelques questions ont donc assez réputation pour définir une prime. Ou développez cette question avec plus d'informations sur votre problème et ce que vous avez essayé. –

Répondre

1

Alireza,

Cela peut se faire assez facilement. Tout ce que vous avez à faire est de mettre en place une socket, à partir de ce socket, vous créez un ParcelFileDescriptor, puis définissez ce descripteur de fichier dans setOutputFile. Cela configurera la partie de diffusion, mais vous aurez ensuite quelques problèmes de formatage avec le fichier. En effet, MediaRecorder réserve l'espace d'en-tête du fichier, mais ne l'écrit qu'après la fin du flux. Pour avoir un fichier fonctionnel côté serveur, vous devrez analyser l'en-tête et l'écrire au début du fichier (ou du tampon).

Bonne chance, B-Rad

+0

salut Merci pour votre réponse, Vous avez dit que je peux l'écrire dans un fichier qui est en mode streaming, non? Si oui, puis-je lire un bloc de flux pendant que l'enregistreur est en train d'enregistrer? ou je devrais attendre jusqu'à ce que l'écriture du fichier se fasse? –

Questions connexes