android - 如何以编程方式打开相机开关声音

标签 android camera

我做了一个相机,现在我希望它在拍摄或录制时有开/关声音的功能

我可以让它固定静音或取消静音,但如果我想让按钮切换,它不起作用

有声: 将此代码添加到 ShutterCallback:

   AudioManager mgr = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
   mgr.playSoundEffect(AudioManager.FLAG_PLAY_SOUND);

没有声音:在捕获之前添加此代码:

  AudioManager  mgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
  mgr.setStreamMute(AudioManager.STREAM_SYSTEM, true);

图片回调的代码:

mgr.setStreamMute(AudioManager.STREAM_SYSTEM, false);

最佳答案

我找到了这个案例的解决方案:

  • 静音:pass shuttercallback is null
  • 取消静音:如上所述初始化关闭回调

               Camera.ShutterCallback shutterCallback = null;
                if (hasSound) {
                    shutterCallback = () -> {
                        AudioManager mgr = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
                        mgr.playSoundEffect(AudioManager.FLAG_PLAY_SOUND);
                    };
                }
                mCamera.takePicture(shutterCallback, null, mPicture);
    

关于android - 如何以编程方式打开相机开关声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35099987/

相关文章:

android.database.sqlite.SQLiteException : near ": syntax error (code 1): , 编译时:android 编程错误

c# - 在 headless (headless)模式下独立运行 Unity,同时捕获屏幕截图

swift - iPhone X 的相机预览比例是多少?

android - 使用相机拍摄图像并将其用作个人资料图片

javascript - 没有webView的Android中的Kotlin调用Javascript函数

android - 如何检测 TextView 中的换行符

java - java 枚举的所有实例的模拟方法

android - 字符串末尾的正则表达式替换在 Android 版 Kotlin 中不起作用

android 改变拍照尺寸

camera - 在 CodenameOne 中将默认摄像头设置为前置/后置