Android 中的手电筒

发布于 2024-10-21 21:21:17 字数 120 浏览 6 评论 0原文

在我的 Android 应用程序中,我正在使用媒体记录器录制视频。我想在录制开始和停止时打开和关闭闪光灯。 无论如何,我可以在 android 中实现它吗?

请分享您的宝贵建议。

提前致谢 :)

In my android application i am recording video using Media recorder.I would like to on and off the flash as the recording is started and stopped.
Is there anyway that i can achieve it in android.

Please share your valuable suggestions.

Thanks in advance :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雪落纷纷 2024-10-28 21:21:17

查看FLASH_MODE_TORCH

整个代码可能像

Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);

Have a look at FLASH_MODE_TORCH.

The whole code may goes like

Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
赠我空喜 2024-10-28 21:21:17

当你开始重新编码时,只需调用一个函数

/*
* 打开闪光灯
*/
私有无效turnOnFlash(){
如果(!isFlashOn){
if (camera == null || params == null) {
返回;
}
// 播放声音
播放声音();

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_TORCH);
        camera.setParameters(params);
        camera.startPreview();
        isFlashOn = true;

        // changing button/switch image
        toggleButtonImage();
    }

}

当您点击停止录制时,只需调用停止闪光功能

即可通过将闪光模式设置为 FLASH_MODE_OFF 来关闭手电筒。

 /*
 * Turning Off flash
 */
private void turnOffFlash() {
    if (isFlashOn) {
        if (camera == null || params == null) {
            return;
        }
        // play sound
        playSound();

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_OFF);
        camera.setParameters(params);
        camera.stopPreview();
        isFlashOn = false;

        // changing button/switch image
        toggleButtonImage();
    }
}

/*
* 切换点击事件来切换闪光灯的开/关
*/
btnSwitch.setOnClickListener(new View.OnClickListener() {
@覆盖
公共无效onClick(查看v){
如果(isFlashOn){
// 关闭闪光灯
关闭Flash();
} 别的 {
// 打开闪光灯
打开Flash();
}
}
});

When you are starting recoding , just call a function

/*
* Turning On flash
*/
private void turnOnFlash() {
if (!isFlashOn) {
if (camera == null || params == null) {
return;
}
// play sound
playSound();

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_TORCH);
        camera.setParameters(params);
        camera.startPreview();
        isFlashOn = true;

        // changing button/switch image
        toggleButtonImage();
    }

}

and when you click on stop Recording just call Stop Flash Function

Flashlight can be turned off by setting flash mode to FLASH_MODE_OFF.

 /*
 * Turning Off flash
 */
private void turnOffFlash() {
    if (isFlashOn) {
        if (camera == null || params == null) {
            return;
        }
        // play sound
        playSound();

        params = camera.getParameters();
        params.setFlashMode(Parameters.FLASH_MODE_OFF);
        camera.setParameters(params);
        camera.stopPreview();
        isFlashOn = false;

        // changing button/switch image
        toggleButtonImage();
    }
}

/*
* Switch click event to toggle flash on/off
*/
btnSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isFlashOn) {
// turn off flash
turnOffFlash();
} else {
// turn on flash
turnOnFlash();
}
}
});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文