ㅇ 아래 방식을 활용하여 디코딩된 unsigned char 배열 (java 에서는 byte[]) 데이터를 가지고 있습니다.
영화에서 나오는 음성입니다. 

음... 소리가 잘 나오지 않는군요..

혹시 AudioTrack 에 대해 잘 알고 계신분 있으시면 조언쫌 부탁드립니다.
























public class AndroidAudioDevice { AudioTrack track; short[] buffer = new short[1024];   public AndroidAudioDevice( ) { int minSize =AudioTrack.getMinBufferSize( 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT ); track = new AudioTrack( AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minSize, AudioTrack.MODE_STREAM); track.play(); }   public void writeSamples(float[] samples) { fillBuffer( samples ); track.write( buffer, 0, samples.length ); }   private void fillBuffer( float[] samples ) { if( buffer.length < samples.length ) buffer = new short[samples.length];   for( int i = 0; i < samples.length; i++ ) buffer[i] = (short)(samples[i] * Short.MAX_VALUE);; } }
public class AudioTest extends Activity
{	    
   @Override
   public void onCreate(Bundle savedInstanceState) 
   {
      super.onCreate(savedInstanceState);                      
 
      new Thread( new Runnable( ) 
      {
         public void run( )
         {        		
            final float frequency = 440;
            float increment = (float)(2*Math.PI) * frequency / 44100; // angular increment for each sample
            float angle = 0;
            AudioDevice device = new AndroidAudioDevice( );
            float samples[] = new float[1024];
 
            while( true )
            {
               for( int i = 0; i < samples.length; i++ )
               {
                  samples[i] = (float)Math.sin( angle );
                  angle += increment;
               }
 
               device.writeSamples( samples );
            }        	
         }
      } ).start();
   }
}