PCM Brut Octets [] Pour Audio sur Android

J'ai actuellement un PCM audio sous la forme d'un tableau d'octets. Le format est signé de 16 bits little endian. Je voudrais le convertir à certaines jouable format sur le Android, de préférence dans la version 3.2 ou ultérieure. Quelqu'un aurait-il des suggestions sur la façon dont cela peut être fait? J'ai fait quelques recherches et j'ai essayé le suivant ci-dessous, mais aucun n'a été couronnée de succès. Il serait très apprécié si quelqu'un peut proposer une meilleure façon ou d'indiquer où je suis allé mal.

J'ai essayé de créer un AudioFormat avec les bons paramètres audio, cependant Android ne prend pas en charge la javax.son.échantillonnées de la bibliothèque.

J'ai aussi essayé d'écrire le PCM données dans un fichier wave, mais je suis en cours d'exécution dans la difficulté à obtenir toutes les wav informations d'en-tête.

J'ai aussi essayé d'utiliser la classe AudioTrack offertes par le système Android, pour lire les données PCM. Cependant, je n'arrive pas à entendre le moindre son. Voici ma méthode:

    public void playback(){
         try{
              AudioTrack audioTrack = new  AudioTrack(AudioManager.STREAM_VOICE_CALL, 8000, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, 500000, AudioTrack.MODE_STATIC);
              audioTrack.write(audio, 0, 500000);

      } catch(Throwable t){
        Log.d("Audio","Playback Failed");
    }
}

Toutes les suggestions seraient appréciées.

  • mise à jour de ma réponse
InformationsquelleAutor ShannonS | 2012-06-29