Camera2API快门声音与内置相机不同,在不同的设备上不一致

e1xvtsh3  于 2021-07-09  发布在  Java
关注(0)|答案(2)|浏览(473)

我编写了一些代码来使用camera2api为android播放shuttersound。代码是:

MediaActionSound mediaActionSound = new MediaActionSound();
mediaActionSound.play(MediaActionSound.SHUTTER_CLICK);

我已经测试了十多台设备。问题是:
实际播放的声音与内置摄像头不同。
不同的设备实际上播放不同的声音(似乎每个设备制造商都安装了不同的音响。)
有一些关于这个文件的信息:/system/media/audio/ui/camera\u click.ogg。。。但我不确定这是不是所用的声音文件。如果是这样的话,为什么它们听起来都不一样,与内置摄像头不一样呢。
我寻求的解决方案是:
或者:
播放与内置摄像头完全相同的声音。我该怎么做?

将自定义声音文件安装到我的应用程序中,并在所有设备上播放相同的声音(但是,这种方法是第二首选,因为我们必须找到一个自定义的声音文件。)
请告知。

vaj7vani

vaj7vani1#

这取决于你的决定。如果你想打造你的应用品牌,只需使用你喜欢的或者用用户熟悉的声音来对待他们。你不必把它复杂化

8xiog9wr

8xiog9wr2#

如果默认的相机应用程序有自己的快门声音,你不太可能得到它-它很可能被烘焙到应用程序apk中,或者一些定制的附加到oem的设备声音集合中,这些声音对于非系统应用程序来说是不可见的。
使用mediaactionsound的主要原因是符合某些国家的期望,即相机快门声音不可静音。mediaactionsound即使在这些国家的完全静音的设备上也会播放快门声,而开发者不必担心。
否则,您可以在快门上播放您想要的任何声音,如果遵守快门声音执行并不重要-或者您可以在快门声音静音未执行时使用自己的声音(您可以通过candisableshuttersound进行检查),并在快门声音不应静音的地方返回到mediaactionsound。

相关问题