2010-10-09 9 views
0

Je veux pouvoir enregistrer de l'audio et l'enregistrer dans un stockage persistant dans mon application j2me. Si je comprends bien, j2me n'expose pas le système de fichiers du téléphone, mais veut plutôt que le développeur utilise le système RMS. Je comprends l'idée derrière RMS mais ne peux pas sembler penser à la meilleure manière de mettre en application l'enregistrement audio l'employant. J'ai un flux continu de bits de l'entrée audio qui doit être sauvegardé, 1) dois-je faire un tampon et ensuite créer périodiquement un nouvel enregistrement avec les octets dans le tampon. 2) Devrais-je mettre chaque échantillon dans un nouvel enregistrement? 3) dois-je enregistrer le fichier d'enregistrement entier dans un tableau d'octets, puis seulement l'écrire sur le RMS à l'arrêt de l'enregistrement?Imiter le fichier IO dans j2me midlet en utilisant RMS

Existe-t-il un meilleur moyen d'atteindre cet objectif que RMS?

Répondre

1

Considérez ce code ci-dessous et de le modifier au besoin, il devrait résoudre votre problème en écrivant au système de fichiers téléphone directement

getRoots(); 


FileConnection fc = null; 

DataOutputStream dos = null; 

fc = (FileConnection)Connector.open("file:///E:/"); 

if (!fc.exists()) 

{ 

fc.mkdir(); 

} 
fc = (FileConnection) Connector.open("file:///E:/test.wav"); 

if (!fc.exists()) 

{ 

fc.create(); 

} 

dos = fc.openDataOutputStream(); 

dos.write(recordedSoundArray);