在Samsung S3 4.0.4上运行以下TextureView demo会在其他设备上生成黑屏,它可以正常工作。 <{1}}回调不会被调用,相机也不会被启动。
将<{1}}添加到清单中的actvity标记会产生以下错误,但onSurfaceTextureAvailable
会被调用。
我做错了吗?有解决方法吗?
堆栈跟踪
android:hardwareAccelerated="true"
代码段
onSurfaceTextureAvailable
答案 0 :(得分:1)
TextureView
必须进行硬件加速。抛出异常是因为我在AndroidManifest.xml中缺少<uses-feature android:name="android.hardware.camera" />
。问题是,默认情况下应该在4.0.4上启用硬件加速。
答案 1 :(得分:0)
问题与TextureView无关。 java.lang.RuntimeException:无法连接到摄像头服务。当另一个应用程序正在使用相机时,或者您在代码中先前调用Camera.open()
并忘记释放它时,会引发此异常。
您应该在onResume
中打开相机并在onPause
或onStart/onStop
中发布。