我想编写服务启动时在后台记录的服务,并在服务停止时停止记录。
我在这里找到了一些关于它的电路板,但没有一个可行。
任何人都可以帮助我吗? 感谢您的帮助!
谢谢!
答案 0 :(得分:6)
我从来没有用视频这样做,只拍照,但我认为它会非常相似。希望它会对你有所帮助。
首先要做的事情 - Android不允许您在没有预览图像的情况下拍摄/录制视频。这使得从服务中执行此操作变得更加困难,因为您需要从头开始创建此预览。你可能会发现一些像this这样的旧帖子,它们会输入一个虚拟预览。这似乎不再适用于新的API。
然而,有一种方法可以创建这样的预览,使其透明或将其调整为像1x1像素一样愚蠢的东西。有关如何执行此操作的信息,请参阅this帖子。
我会问自己,你是否真的需要从服务而不是活动中获取此视频。如果是,请使用窗口管理器创建预览表面(它适用于从我的服务中拍摄照片):
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);
祝你好运。