图像可用侦听器拾取片段的图像,并在图像可用时立即连续调用onimageavailble()
。代码的实例如下:
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(null);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_camera);
setFragment();
}
setFragment()
代码为:
protected void setFragment() {
final Fragment fragment =
CameraConnectionFragment.newInstance(
new CameraConnectionFragment.ConnectionCallback() {
@Override
public void onPreviewSizeChosen(final Size size, final int rotation) {
CameraActivity.this.onPreviewSizeChosen(size, rotation);
}
},
this,
getLayoutId(),
getDesiredPreviewFrameSize());
getFragmentManager()
.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}
代码在Android上运行正常,所以我希望它在Android Things设备上实现,但我收到警告声明' 一个TextureView或子类只能用于启用硬件加速'并且永远不会调用onimageavailble()
。我在代码中进行了必要的更改以解决警告,但仍然不会调用onimageavailble()
。
在调试raspberry Pi3中用于安装android的代码时,我注意到片段中没有显示相机流,因为图像侦听器无法选择它。
请为我提供此问题的解决方案
答案 0 :(得分:1)
您正在使用WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED
(使用AndroidThings 0.3.0
)
R Pi的硬件加速仅在AndroidThings 0.5.0
请参阅此处的发行说明:
https://developer.android.com/things/preview/releases.html
随着Android O的更新,现在支持OpenGL ES 2.0。带GPU的平台(如Raspberry Pi 3)现在也支持硬件加速。
请更新您正在使用的AndroidThings版本。