2013-04-13 10 views
5

Ich habe ein einfaches Stück Code, der ein AudioRecord-Objekt erstellt und es dann zum Aufzeichnen in eine Datei verwendet. Es ist ziemlich Standard und scheint perfekt zu funktionieren. Ich benutze ein Samsung GalaxyS Vibrant Lauflager Android 2.2.AudioRecord: "Überlauf Benutzer" Protokolle - was meinen sie?

Allerdings bin ich Meldungen wie diese in logcat in unterschiedlichen Abständen bekommen:

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 

Wer weiß, was diese bedeuten? Überschreibe ich den internen Audiopuffer und verliere Audioframes? Es scheint nicht von der aufgezeichneten Datei zu sein, aber diese unterbrochenen Nachrichten beunruhigen mich ein wenig.

+0

Einige Code, vor allem der Teil, der den Fehler wirft, wäre hilfreich. – sashkello

+0

Es ist ein Standardsatz von Aufrufen: Erstellen eines AudioRecord-Objekts und Ausführen von startRecording() darauf. Wie ich schon sagte, es funktioniert einwandfrei, aber es zeigt diese Nachrichten, die interne Samsung Protokolle sind, die andere ebenfalls gesehen haben (es gibt einige andere Fragen in SO über das Ausschalten - kann es nicht tun). Ich frage mich nur, was sie eigentlich meinen. – Meehow

Antwort

2

es scheint, dies ist ein internes Protokoll von einigen Samsung-Geräten verwendet. Du kannst sie also nicht verstecken, aber es ist auch nicht schädlich. Wenn Sie es nicht sehen möchten, können Sie dies nur aus Ihrem Logcat herausfiltern

+1

Es geht nicht darum, sie nicht sehen zu wollen (dazu gibt es schon andere Fragen). Ich frage mich eher, was sie eigentlich meinen und ob ich mir Sorgen um sie machen sollte. – Meehow

+0

Da es nur ein Protokoll ist, das vom Gerät verwendet wird, ist es nicht schädlich – stinepike

6

Dies könnte ein wenig spät sein, aber das ist nur eine Protokollmeldung (nicht speziell Samsung, ich habe es mit verschiedenen Marken, Modelle gesehen & Marken), die Ihnen mitteilen, dass Sie mit der Aufnahme begonnen haben, aber die Daten nicht aus dem AudioRecord auslesen.

Daher die Overrun user, die AudioRecord Puffer sind voll.

+0

Das ist richtig. –

+0

Wow, vielen Dank. Aber bitte irgendeine Lösung? – berserk

+0

Es ist ziemlich einfach. Sobald Sie mit der Aufnahme beginnen, lesen Sie den Ton aus und lesen Sie ihn weiter. – ThaMe90

0

Überprüfen Sie Ihre Berechtigungen.

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

diese Erlaubnis ist erforderlich

0

Ich denke, da Lese PCM- Daten zu langsam, ich die gleiche Frage gestellt, wenn ich ein wenig Schlaf zu tun zwischen zwei Operationen lesen, dieses Protokoll mehr, wenn ich die eingestellte Schlafzeit länger. Also ich denke, es gibt 2 Möglichkeiten, um dieses Problem zu beheben: 1.make lesen Operation schnell 2.make den Puffer größer, wenn Sie einen AudioRecorder neu letzten Satz auf 2 * minBufferSize oder größer. Dadurch können Sie bei jeder Leseoperation mehr Daten lesen. Hoffe, dass Sie das verstehen können, Entschuldigung für mein schlechtes Englisch.