Simon MacDonald created CB-1211:
-----------------------------------

             Summary: Media record uses a .mp3 extension when it is a .3gp file
                 Key: CB-1211
                 URL: https://issues.apache.org/jira/browse/CB-1211
             Project: Apache Cordova
          Issue Type: Bug
          Components: Android
    Affects Versions: 2.0.0
            Reporter: Simon MacDonald
            Assignee: Simon MacDonald
            Priority: Minor
             Fix For: 2.1.0


Hi, I am analyzing the files generated on SD card after the completion of 
recording.

The recording is implemented using "my_media.startRecord();". 

So I looked into the Java code of Cordova and found that PhoneGap will create 
something called "tmprecording.mp3" and I assume that PhoneGap encodes the 
output of the recording in mp3. 

I opened the generated file(which was playable with correct sound) and found 
something interesting:

1. It was neither one of MEPGI/II/III. The first 11 bits of the file I got are 
all 0s. 
2. It was not a .wav file. The first four bytes should be "RIFF" in ASCII for a 
legal .wav file, which was not the case on the file I got. 

For project requirement, I need to verify the sampling rate and bit rate of the 
mp3 file generated. However, even though I use some mp3 checker software, I 
cannot retrieve these information from the file generated. 

After that I use the media player to play the file, and tried monitoring which 
decoder the player used, and got the following information:

Input: amrnb, mono, 8000 HZ, 128kbps (libavcodec)
Output:  PCM, Stereo, 8000HZ, 16-bit integer

Is that the correct information I wanted to know? Which one of them indicates 
the correct sampling rate and bit rate? Does anyone know what format 
specifically the recorded file is and where I can find its spec(such as header, 
etc)?
Later I need to manipulate the recorded file (e.g., retrieve simple waveform). 
Really appreciate your help.

I don't know if it is only me(HTC One X and Nexus Glaxy) or everyone, but the 
file format is eventually confirmed as MP4/3GP. The file I got from PhoneGap 
recording is encoded with 3GP release 4 codec because it has the header "00 00 
00 18 66 74 79 70 33 67
" in hex. This seems very different from a MPEG-3 file format and I don't 
understand why PhoneGap Cordova team will name such file as *.mp3. Is this 
behavior system/browser-related on different device or universal to all Cordova 
apps?


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to