Question

I have a simple piece of code that creates an AudioRecord object, then uses it to record to a file. It is pretty standard and seems to work perfectly fine. I am using a Samsung GalaxyS Vibrant running stock Android 2.2.

However, I am getting messages such as these in logcat at different intervals:

04-13 14:03:30.754: V/AudioRecord(4831): Overrun user: 820, server: 1040, flowControlFlag 0
04-13 14:03:30.766: V/AudioRecord(4831): Overrun user: 820, server: 1040, flowControlFlag 1

Does anyone know what these mean? Am I overrunning the internal audio buffer and losing audio frames? It doesn't seem like it from the recorded file, but these intermittent messages are worrying me a bit.

Was it helpful?

Solution 2

it seems this is an internal log used by some samsung devices. So you can not hide them but it is not harmful either. If you dont want to see it you can just filter out this from your logcat

OTHER TIPS

This might be a little late, but this is merely a log message (not specifically Samsung, I've seen it with different makes, models & brands) telling you that you've started recording, but are not reading out the data from the AudioRecord.

Hence the Overrun user, the AudioRecord's buffers are full.

Check your permissions.

<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>

this permission is necessary

I think is because read pcm data too slow, I faced the same question, when I do a little sleep between two read operations, this log become more when I set the sleep time longer. So I think there is 2 ways to resolve this problem: 1.make read operation quick 2.make the buffer bigger, when you new a AudioRecorder set last para to 2*minBufferSize or bigger. It can allow you read more data every read operation. Hope your can understand that, sorry for my poor english.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top