在用android自带的camera录制video时概率性出现录音不正确,现象是播放录音文件后声音只有很短的“咯咯咯”,持续一秒不到即消失,以后的video都没有声音。出现的概率大约1/3,看log显示audio encodec的帧数非常少,大约只有video的10%, audio drift time接近我录制的时间,这个肯定不对。大家了解这样的问题么, 指点一下把。这个是有问题的log(录制大约10s):
I/MPEG4Writer( 1208): setStartTimestampUs: 33474
I/MPEG4Writer( 1208): Earliest track starting time: 33474
W/AudioFlinger( 1208): write blocked for 371 msecs, 13 delayed writes, thread 0x4e6628
I/MPEG4Writer( 1208): setStartTimestampUs: 581686
D/AudioHardware( 1208): AudioHardware pcm playback is going to standby.
D/AudioHardware( 1208): closePcmOut_l() mPcmOpenCnt: 1
V/videocamera( 2015): stopVideoRecording
D/MPEG4Writer( 1208): Stopping Video track
I/MPEG4Writer( 1208): Received total/0-length (265/0) buffers and encoded 264 frames. - video
D/MPEG4Writer( 1208): Stopping Video track source
D/CameraSource( 1208): stop: E
D/CameraSource( 1208): stop: X
D/MPEG4Writer( 1208): Video track stopped
D/MPEG4Writer( 1208): Stopping Audio track
D/AudioHardware( 1208): AudioHardware pcm playback is exiting standby.
I/MPEG4Writer( 1208): Received total/0-length (12/0) buffers and encoded 11 frames. - audio
I/MPEG4Writer( 1208): Audio track drift time: -9384798 us
D/MPEG4Writer( 1208): Stopping Audio track source
D/AudioHardware( 1208): openPcmOut_l() mPcmOpenCnt: 0
D/AudioHardware( 1208): AudioHardware pcm capture is going to standby.
D/AudioHardware( 1208): AudioStreamInALSA::setParameters() routing=0
D/MPEG4Writer( 1208): Audio track stopped
D/MPEG4Writer( 1208): Duration from tracks range is [704000, 10767240] us
D/MPEG4Writer( 1208): Stopping writer thread
D/MPEG4Writer( 1208): 0 chunks are written in the last batch
D/MPEG4Writer( 1208): Writer thread stopped
D/MPEG4Writer( 1208): Stopping Video track
D/MPEG4Writer( 1208): Stopping Audio track
V/videocamera( 2015): Setting current video filename: /mnt/sdcard/DCIM/Camera/VID_20000105_183818.mp4
V/videocamera( 2015): Current video URI: content://media/external/video/media/100
V/videocamera( 2015): Releasing media recorder.
D/AudioHardware( 1208): AudioHardware pcm playback is exiting standby.
E/AudioHardware( 1208): ***Record caused audio path dirty, reopen it
D/AudioHardware( 1208): closePcmOut_l() mPcmOpenCnt: 1
D/AudioHardware( 1208): openPcmOut_l() mPcmOpenCnt: 0
这个是录音正常时候的log(录制大约10s):I/MPEG4Writer( 1208): setStartTimestampUs: 9645
I/MPEG4Writer( 1208): Earliest track starting time: 9645
I/MPEG4Writer( 1208): setStartTimestampUs: 5860
I/MPEG4Writer( 1208): Earliest track starting time: 5860
D/AudioHardware( 1208): AudioHardware pcm playback is going to standby.
D/AudioHardware( 1208): closePcmOut_l() mPcmOpenCnt: 1
V/videocamera( 2015): stopVideoRecording
D/MPEG4Writer( 1208): Stopping Video track
I/MPEG4Writer( 1208): Received total/0-length (226/0) buffers and encoded 225 frames. - video
D/MPEG4Writer( 1208): Stopping Video track source
D/CameraSource( 1208): stop: E
D/AudioHardware( 1208): AudioHardware pcm playback is exiting standby.
D/AudioHardware( 1208): openPcmOut_l() mPcmOpenCnt: 0
D/CameraSource( 1208): stop: X
D/MPEG4Writer( 1208): Video track stopped
D/MPEG4Writer( 1208): Stopping Audio track
I/MPEG4Writer( 1208): Received total/0-length (153/0) buffers and encoded 152 frames. - audio
I/MPEG4Writer( 1208): Audio track drift time: -60840 us
D/MPEG4Writer( 1208): Stopping Audio track source
D/AudioHardware( 1208): AudioHardware pcm capture is going to standby.
D/AudioHardware( 1208): AudioStreamInALSA::setParameters() routing=0
D/MPEG4Writer( 1208): Audio track stopped
D/MPEG4Writer( 1208): Duration from tracks range is [9175700, 9728000] us
D/MPEG4Writer( 1208): Stopping writer thread
D/MPEG4Writer( 1208): 0 chunks are written in the last batch
D/MPEG4Writer( 1208): Writer thread stopped
D/MPEG4Writer( 1208): Stopping Video track
D/MPEG4Writer( 1208): Stopping Audio track
V/videocamera( 2015): Setting current video filename: /mnt/sdcard/DCIM/Camera/VID_20000105_194659.mp4
V/videocamera( 2015): Current video URI: content://media/external/video/media/103
V/videocamera( 2015): Releasing media recorder.
I/dalvikvm( 1305): Jit: resizing JitTable from 8192 to 16384
D/dalvikvm( 2015): GC_CONCURRENT freed 4885K, 51% free 10630K/21575K, paused 6ms+12ms
D/AudioHardware( 1208): AudioHardware pcm playback is exiting standby.
E/AudioHardware( 1208): ***Record caused audio path dirty, reopen it
D/AudioHardware( 1208): closePcmOut_l() mPcmOpenCnt: 1
D/AudioHardware( 1208): openPcmOut_l() mPcmOpenCnt: 0
I/FfmpegExtractor( 1208):  >>>>>> SniffFfmpeg format : mov,mp4,m4a,3gp,3g2,mj2 <<<<<
I/MediaExtractor( 1208): Autodetected media content as 'video/mpeg4' with confidence 0.40
I/OMXCodec( 1208): Attempting to allocate OMX node 'OMX.google.h264.decoder'
I/OMXCodec( 1208): [OMX.google.h264.decoder] AVC profile = 66 (Baseline), level = 31
I/OMXCodec( 1208): [OMX.google.h264.decoder] video dimensions are 320 x 240
I/OMXCodec( 1208): [OMX.google.h264.decoder] Crop rect is 320 x 240 @ (0, 0)
I/OMXCodec( 1208): [OMX.google.h264.decoder] video dimensions are 1280 x 720
I/OMXCodec( 1208): [OMX.google.h264.decoder] Crop rect is 1280 x 720 @ (0, 0)
D/dalvikvm( 2015): GC_FOR_ALLOC freed 17K, 51% free 10614K/21575K, paused 13ms
I/dalvikvm-heap( 2015): Grow heap (frag case) to 12.214MB for 1843216-byte allocation
D/dalvikvm( 2015): GC_CONCURRENT freed <1K, 43% free 12413K/21575K, paused 1ms+1ms