我想编写一个服务,它在服务启动时在后台记录,并在服务停止时停止记录。
我在这里找到了一些关于它的板,但没有一个有效。
谁能帮我?感谢所有的帮助!
谢谢!!
我想编写一个服务,它在服务启动时在后台记录,并在服务停止时停止记录。
我在这里找到了一些关于它的板,但没有一个有效。
谁能帮我?感谢所有的帮助!
谢谢!!
我从来没有像这样对视频做过这个,只是拍照,但我认为它会非常相似。希望它会帮助你。
首先要做的事情 - Android 不会让你在没有预览表面的情况下拍照/录制视频。这使得从服务中执行此操作更加困难,因为您需要自己从头开始创建此预览。您可能会发现一些像这样的旧帖子,其中输入了一个虚拟预览。这似乎不再适用于新的 API。
但是,有一种方法可以创建这样的预览,使其透明或将其调整为 1x1 像素等愚蠢的东西。可以在这篇文章中找到有关如何执行此操作的信息。
我会问自己是否真的需要从服务而不是活动中获取此视频。如果是,请使用窗口管理器创建预览表面(它适用于为我从服务中拍照):
WindowManager winMan = (WindowManager) mCtx.getSystemService(Context.WINDOW_SERVICE);
params = new WindowManager.LayoutParams(WindowManager.LayoutParams.WRAP_CONTENT, WindowManager.LayoutParams.WRAP_CONTENT,
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
winMan.addView(surfaceview, params);
surfaceview.setZOrderOnTop(true);
mHolder.setFormat(PixelFormat.TRANSPARENT);
祝你好运。