我在Android上有一个录音应用程序,我在朋友的手机上遇到了一个奇怪的问题。
其中一个录音不起作用并抛出:
E/MediaPlayer-JNI(5996): QCMediaPlayer mediaplayer NOT present
E/MediaPlayer(5996): Unable to create media player
E/com.audioRec.player.MediaPlayer(5996): setDataSourceFD failed.: status=0x80000000
E/com.audioRec.player.MediaPlayer(5996): java.io.IOException: setDataSourceFD failed.: status=0x80000000
但它在Windows媒体播放器,vlc播放器等方面取得了成功!!!!!!!!!
Could someone take a look over the header of the "RecordingNotOk.wav" file?
答案 0 :(得分:1)
对于RecordingNotOk.wav文件,听起来像数据块的指定大小大于文件大小: 小端的00 F8 0A 00是718848字节,而整个文件大小只有716844,这个块的实际可用数据大小只有716800
这个数字可以在这里找到('数据'之后的第3行):
52 49 46 46 24 F0 0A 00 57 41 56 45 66 6D 74 20 RIFF $ð?? WAVE fmt
10 00 00 00 01 00 02 00 80 3E 00 00 00 FA 00 00 ???? ???? >?? ?ú??
04 00 10 00 64 61 74 61 00 F8 0A 00 00 00 00 00 ???? data ?ø?? ????
基本上,您的文件似乎已被截断。有些玩家可能会忽略这一点并尝试播放文件末尾可用的内容。我想在Android上它会尝试根据预期的大小首先读取整个文件,因此IOException