【发布时间】:2015-08-07 22:06:10
【问题描述】:
我正在构建一个混合应用程序,它需要在相机视图顶部有一个自定义按钮(维护现有的相机控件)。我以前在 iOS 中做过这个,而且相当简单。但是大多数 Android 插件使用 'intent' 方法:
Intent intent = new Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
this.cordova.startActivityForResult((CordovaPlugin) this, intent, CAPTURE_VIDEO);
https://github.com/apache/cordova-plugin-media-capture/blob/master/src/android/Capture.java
这会在我的插件无法控制的完全独立的窗口中打开本机相机,这会阻止我添加叠加按钮。
有几个插件使用更多的自定义代码来调用摄像机:
recorder = new MediaRecorder();
recorder.setCamera(camera);
recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
setProfile(recorder, cameraParameters);
recorder.setOutputFile(filePath);
recorder.setOrientationHint(90);
preview.attach(recorder);
recorder.prepare();
recorder.start();
https://github.com/jamesla/backgroundvideo/blob/master/src/android/VideoOverlay.java
但是这些插件有很多错误,并且删除了很多我计划依赖的相机控件:开始/停止/预览和接受按钮。
中间是否有一个解决方案,我不需要从头开始完全重写相机按钮,我可以保留现有按钮,但添加一个叠加层?
【问题讨论】:
-
想说developer.android.*链接返回404,如果有版主发现请删除
-
我已经更新了参考链接:
标签: java android cordova video camera