Я зову:класс Surface Android дает мне «уже подключен» ошибка, и IllegalArgumentException
mSurface.lockCanvas(null);
Null является допустимым параметром дать lockCanvas, показывая, что весь экран должен быть обновлен.
Поверхность я использую, передается мне, и код, который получает он делает это через:
new Surface(mPlaybackView.getSurfaceTexture());
mPlaybackView является TextureView, который захватил из ресурсов. Когда lockCanvas (нуль), называется, я получаю следующее:
BufferQueueProducer: [unnamed-6903-1] connect(P): already connected (cur=3 req=2)
и
java.lang.IllegalArgumentException at android.view.Surface.nativeLockCanvas (Native Method).
Я нахожусь в тупик, так как я все еще учусь о холсте и поверхности и т.д.
ли здесь что-то явно не так?
Редактировать: Вот трассировка стека.
11-19 09:45:28.075 3319-3319/com.example.eschjen.nov15test D/Jenny: inside try, surface is: Surface([email protected])/@0x3bc8b489
11-19 09:45:28.086 3319-3319/com.example.eschjen.nov15test E/BufferQueueProducer: [unnamed-3319-0] connect(P): already connected (cur=3 req=2)
11-19 09:45:28.087 3319-3319/com.example.eschjen.nov15test E/Jenny: Exception caught:
java.lang.IllegalArgumentException
at android.view.Surface.nativeLockCanvas(Native Method)
at android.view.Surface.lockCanvas(Surface.java:255)
at com.example.eschjen.nov15test.MediaCodecWrapper.surfaceRender(MediaCodecWrapper.java:469)
at com.example.eschjen.nov15test.MediaCodecWrapper.access$200(MediaCodecWrapper.java:41)
at com.example.eschjen.nov15test.MediaCodecWrapper$1.outputSample(MediaCodecWrapper.java:338)
at com.example.eschjen.nov15test.MediaCodecWrapper.popSampleJenny(MediaCodecWrapper.java:345)
at com.example.eschjen.nov15test.MainActivity$1.onTimeUpdate(MainActivity.java:183)
at android.animation.TimeAnimator.animationFrame(TimeAnimator.java:27)
at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1248)
at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:659)
at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:682)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:549)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
11-19 09:45:28.087 3319-3319/com.example.eschjen.nov15test D/Jenny: done trying
11-19 09:45:28.088 3319-3319/com.example.eschjen.nov15test D/Jenny: done being synchronized.
Не могли бы вы разместить полный стек tt – Henry