55import android .media .MediaExtractor ;
66import android .media .MediaFormat ;
77import android .media .MediaMuxer ;
8+ import android .media .MediaMetadataRetriever ;
89
910import java .io .File ;
1011import java .io .FileOutputStream ;
1112import java .io .RandomAccessFile ;
13+ import java .nio .ByteBuffer ;
1214
1315public class AacCodec {
1416
@@ -98,8 +100,8 @@ public static int decodeAacFile(String aacPath, String pcmPath, AacCallback call
98100 codec .start ();
99101
100102 FileOutputStream fos = new FileOutputStream (pcmPath );
101- java . nio . ByteBuffer [] inputBuffers = codec .getInputBuffers ();
102- java . nio . ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
103+ ByteBuffer [] inputBuffers = codec .getInputBuffers ();
104+ ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
103105
104106 MediaCodec .BufferInfo bufferInfo = new MediaCodec .BufferInfo ();
105107 boolean sawInputEOS = false ;
@@ -109,7 +111,7 @@ public static int decodeAacFile(String aacPath, String pcmPath, AacCallback call
109111 if (!sawInputEOS ) {
110112 int inputBufferIndex = codec .dequeueInputBuffer (TIMEOUT_US );
111113 if (inputBufferIndex >= 0 ) {
112- java . nio . ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
114+ ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
113115 int sampleSize = extractor .readSampleData (inputBuffer , 0 );
114116 if (sampleSize < 0 ) {
115117 codec .queueInputBuffer (inputBufferIndex , 0 , 0 , 0 , MediaCodec .BUFFER_FLAG_END_OF_STREAM );
@@ -125,7 +127,7 @@ public static int decodeAacFile(String aacPath, String pcmPath, AacCallback call
125127 if (outputBufferIndex >= 0 ) {
126128 if ((bufferInfo .flags & MediaCodec .BUFFER_FLAG_END_OF_STREAM ) != 0 ) sawOutputEOS = true ;
127129 if (bufferInfo .size > 0 ) {
128- java . nio . ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
130+ ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
129131 outputBuffer .position (bufferInfo .offset );
130132 outputBuffer .limit (bufferInfo .offset + bufferInfo .size );
131133
@@ -186,8 +188,8 @@ public static int encodePcmToAac(String pcmPath, String aacPath, int sampleRate,
186188
187189 RandomAccessFile raf = new RandomAccessFile (pcmPath , "r" );
188190 FileOutputStream fos = new FileOutputStream (aacPath );
189- java . nio . ByteBuffer [] inputBuffers = codec .getInputBuffers ();
190- java . nio . ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
191+ ByteBuffer [] inputBuffers = codec .getInputBuffers ();
192+ ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
191193
192194 MediaCodec .BufferInfo bufferInfo = new MediaCodec .BufferInfo ();
193195 boolean sawInputEOS = false ;
@@ -199,7 +201,7 @@ public static int encodePcmToAac(String pcmPath, String aacPath, int sampleRate,
199201 if (!sawInputEOS ) {
200202 int inputBufferIndex = codec .dequeueInputBuffer (TIMEOUT_US );
201203 if (inputBufferIndex >= 0 ) {
202- java . nio . ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
204+ ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
203205 inputBuffer .clear ();
204206
205207 byte [] pcmChunk = new byte [Math .min (4096 , (int )(fileSize - raf .getFilePointer ()))];
@@ -227,7 +229,7 @@ public static int encodePcmToAac(String pcmPath, String aacPath, int sampleRate,
227229 if ((bufferInfo .flags & MediaCodec .BUFFER_FLAG_END_OF_STREAM ) != 0 ) sawOutputEOS = true ;
228230
229231 if (bufferInfo .size > 0 ) {
230- java . nio . ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
232+ ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
231233 byte [] aacFrame = new byte [bufferInfo .size ];
232234 outputBuffer .get (aacFrame );
233235
@@ -283,8 +285,8 @@ public static int encodePcmToM4a(String pcmPath, String m4aPath, int sampleRate,
283285 boolean muxerStarted = false ;
284286
285287 RandomAccessFile raf = new RandomAccessFile (pcmPath , "r" );
286- java . nio . ByteBuffer [] inputBuffers = codec .getInputBuffers ();
287- java . nio . ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
288+ ByteBuffer [] inputBuffers = codec .getInputBuffers ();
289+ ByteBuffer [] outputBuffers = codec .getOutputBuffers ();
288290
289291 MediaCodec .BufferInfo bufferInfo = new MediaCodec .BufferInfo ();
290292 boolean sawInputEOS = false ;
@@ -297,7 +299,7 @@ public static int encodePcmToM4a(String pcmPath, String m4aPath, int sampleRate,
297299 if (!sawInputEOS ) {
298300 int inputBufferIndex = codec .dequeueInputBuffer (TIMEOUT_US );
299301 if (inputBufferIndex >= 0 ) {
300- java . nio . ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
302+ ByteBuffer inputBuffer = inputBuffers [inputBufferIndex ];
301303 inputBuffer .clear ();
302304
303305 byte [] pcmChunk = new byte [Math .min (frameSize , (int )(fileSize - raf .getFilePointer ()))];
@@ -331,7 +333,7 @@ public static int encodePcmToM4a(String pcmPath, String m4aPath, int sampleRate,
331333 muxerStarted = true ;
332334 }
333335
334- java . nio . ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
336+ ByteBuffer outputBuffer = outputBuffers [outputBufferIndex ];
335337 muxer .writeSampleData (trackIndex , outputBuffer , bufferInfo );
336338 }
337339
@@ -597,12 +599,12 @@ public static int decodeM4aFile(String m4aPath, String pcmPath, AacCallback call
597599 }
598600
599601 public static long getDuration (String filePath ) {
600- android . media . MediaMetadataRetriever retriever = null ;
602+ MediaMetadataRetriever retriever = null ;
601603 try {
602- retriever = new android . media . MediaMetadataRetriever ();
604+ retriever = new MediaMetadataRetriever ();
603605 retriever .setDataSource (filePath );
604606 String durationStr = retriever .extractMetadata (
605- android . media . MediaMetadataRetriever .METADATA_KEY_DURATION );
607+ MediaMetadataRetriever .METADATA_KEY_DURATION );
606608 if (durationStr != null ) {
607609 return Long .parseLong (durationStr );
608610 }
0 commit comments