2017-02-24 58 views
12

我有一個帶有直播功能的MediaPlayer應用程序。當我使用物理設備(API 22 Lollipop和API 23 Marshmallow)測試應用程序時,啓動流時沒有任何問題。 今天我想用模擬器(API 25牛軋糖)測試應用程序。流不工作,我得到以下錯誤:GsaIOException緩衝區溢出,沒有可用空間

(SourceFile:139) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)  at java.lang.Thread.run(Thread.java:761)  at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85)  02-23 23:58:09.834 2166-3554/com.google.android.googlequicksearchbox:search W/ErrorProcessor: onFatalError, processing error from engine(4) com.google.android.apps.gsa.shared.speech.a.g: Error reading from input stream at com.google.android.apps.gsa.staticplugins.recognizer.i.a.a(SourceFile:342) at com.google.android.apps.gsa.staticplugins.recognizer.i.a$1.run(SourceFile:1367) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) at java.lang.Thread.run(Thread.java:761) at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85) Caused by: com.google.android.apps.gsa.shared.exception.GsaIOException: Error code: 393238 | Buffer overflow, no available space. at com.google.android.apps.gsa.speech.audio.Tee.g(SourceFile:2531) at com.google.android.apps.gsa.speech.audio.ap.read(SourceFile:555) at java.io.InputStream.read(InputStream.java:101) at com.google.android.apps.gsa.speech.audio.al.run(SourceFile:362) at com.google.android.apps.gsa.speech.audio.ak$1.run(SourceFile:471) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:428) at java.util.concurrent.FutureTask.run(FutureTask.java:237) at com.google.android.apps.gsa.shared.util.concurrent.a.ak.run(SourceFile:66) at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139) at com.google.android.apps.gsa.shared.util.concurrent.a.ax.run(SourceFile:139) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)  at java.lang.Thread.run(Thread.java:761)  at com.google.android.apps.gsa.shared.util.concurrent.a.ad$1.run(SourceFile:85) 

我只能認識到一件事,我認爲它是重要的。

GsaIOException: Error code: 393238 | Buffer overflow, no available space

但我不知道它可能意味着什麼。任何人都可以解釋它是什麼樣的例外。並且我可以在代碼中搜索以查找問題?

+0

不確定,但您是否在虛擬設備上安裝了SD卡? – sschrass

回答

1

我確實收到了同樣的問題,並且我做了以下事情以使此崩潰發生。 由於文件需要解析並保存在緩衝區中,因此我寫了很少的api需要分配一些內存。我開始解析文件而不分配緩衝區,因此收到了該消息。 所以你可以看看類似的代碼,你可能會做同樣的事情。

1

我有一個類似的問題,對我來說,它也在設備上崩潰,同樣的錯誤。這是我的固定它的設備:

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

更多細節在這裏:Looping Error on Android Emulator

如果要對模擬器的應用程序的工作,從上面的鏈接應用此修復程序後,我必須創建一種新的基於模擬器在x86架構上(不像以前的x86_64),它工作。

0

我已經通過刪除之前創建的apk文件解決了這個問題,它們仍然保留在Project Files列表中。