Exception locking surface SurfaceView报错解决

来源:互联网 发布:智能排班软件app 编辑:程序博客网 时间:2024/05/17 20:24

  很多新手在玩Surfaceview多视频的时候会遇到如题所说的问题,翻来覆去检查半天也找不到问题。

  我也是折腾了许久,后来仔细研究log发现,SurfaceHolder 不能重复lockCanvas()。所以我的解决方案是不要定义全局的SurfaceHolder。什么时候要什么时候定义。本人新手,发现如下问题希望有朋友遇到这类问题能即使解决。


报如下bug:

12-16 10:44:44.484: E/SurfaceTextureClient(1017): Surface::lock failed, already locked
12-16 10:44:44.584: E/SurfaceHolder(1017): Exception locking surface
12-16 10:44:44.584: E/SurfaceHolder(1017): java.lang.IllegalArgumentException
12-16 10:44:44.584: E/SurfaceHolder(1017): at android.view.Surface.nativeLockCanvas(Native Method)
12-16 10:44:44.584: E/SurfaceHolder(1017): at android.view.Surface.lockCanvas(Surface.java:447)
12-16 10:44:44.584: E/SurfaceHolder(1017): at android.view.SurfaceView$4.internalLockCanvas(SurfaceView.java:781)
12-16 10:44:44.584: E/SurfaceHolder(1017): at android.view.SurfaceView$4.lockCanvas(SurfaceView.java:757)
12-16 10:44:44.584: E/SurfaceHolder(1017): at com.escort.activity.VideoFragment.fuc(VideoFragment.java:381)
12-16 10:44:44.584: E/SurfaceHolder(1017): at com.dvr.avstream.AVStream.DisplayOneFrame(AVStream.java:31)
12-16 10:44:44.584: E/SurfaceHolder(1017): at dalvik.system.NativeStart.run(Native Method)
12-16 10:44:45.195: E/SurfaceTextureClient(1017): Surface::lock failed, already locked
12-16 10:44:45.245: E/SurfaceHolder(1017): Exception locking surface
12-16 10:44:45.245: E/SurfaceHolder(1017): java.lang.IllegalArgumentException
12-16 10:44:45.245: E/SurfaceHolder(1017): at android.view.Surface.nativeLockCanvas(Native Method)
12-16 10:44:45.245: E/SurfaceHolder(1017): at android.view.Surface.lockCanvas(Surface.java:447)
12-16 10:44:45.245: E/SurfaceHolder(1017): at android.view.SurfaceView$4.internalLockCanvas(SurfaceView.java:781)
12-16 10:44:45.245: E/SurfaceHolder(1017): at android.view.SurfaceView$4.lockCanvas(SurfaceView.java:757)
12-16 10:44:45.245: E/SurfaceHolder(1017): at com.escort.activity.VideoFragment.fuc(VideoFragment.java:381)
12-16 10:44:45.245: E/SurfaceHolder(1017): at com.dvr.avstream.AVStream.DisplayOneFrame(AVStream.java:31)
12-16 10:44:45.245: E/SurfaceHolder(1017): at dalvik.system.NativeStart.run(Native Method)
12-16 10:44:45.484: E/SurfaceTextureClient(1017): Surface::lock failed, already locked
12-16 10:44:45.604: E/SurfaceHolder(1017): Exception locking surface


0 0
原创粉丝点击