camera
private class EventHandler extends Handler
223 {
224 private Camera mCamera;
225
226 public EventHandler(Camera c, Looper looper) {
227 super(looper);
228 mCamera = c;
229 }
230
231 @Override
232 public void handleMessage(Message msg) {
233 switch(msg.what) {
234 case SHUTTER_CALLBACK:
235 if (mShutterCallback != null) {
236 mShutterCallback.onShutter();
237 }
238 return;
239 case RAW_PICTURE_CALLBACK:
240 if (mRawImageCallback != null)
241 mRawImageCallback.onPictureTaken((byte[])msg.obj, mCamera);
242 return;
243
244 case JPEG_PICTURE_CALLBACK:
245 if (mJpegCallback != null)
246 mJpegCallback.onPictureTaken((byte[])msg.obj, mCamera);
247 return;
248
249 case PREVIEW_CALLBACK:
250 if (mPreviewCallback != null) {
251 mPreviewCallback.onPreviewFrame((byte[])msg.obj, mCamera);
252 if (mOneShot) {
253 mPreviewCallback = null;
254 }
255 }
256 return;
257
258 case AUTOFOCUS_CALLBACK:
259 if (mAutoFocusCallback != null)
260 mAutoFocusCallback.onAutoFocus(msg.arg1 == 0 ? false : true, mCamera);
261 return;
262
263 case ERROR_CALLBACK:
264 Log.e(TAG, "Error " + msg.arg1);
265 if (mErrorCallback != null)
266 mErrorCallback.onError(msg.arg1, mCamera);
267 return;
268
269 default:
270 Log.e(TAG, "Unknown message type " + msg.what);
271 return;
272 }
273 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥