如何以编程方式设置 Android 应用程序音量

问题描述 投票:0回答:1

我尝试将 Android 音频播放器的音量设置为 100%,但没有成功。

我有一个用 Java 编写的 Android 应用程序,可以在 Android 设备上运行。该设备是 Khadas VIM3L,配有附加音板和触摸屏。 VIM3L 运行 Android 9.0 (Pie)。

我正在尝试将媒体音量设置为 100%,或者至少设置为 75% 这样的大值。 然后,客户端将硬件添加到音调板的输出。 我不知道所有细节。

无论如何,根据我当前的设置(Khadas VIM3L、音板、触摸屏),默认输出似乎约为 25%。 所以我正在努力改变这一点。

应用程序启动时,它会显示歌曲的 trakclist。 单击曲目,然后将播放该曲目。 当曲目完成后,它将开始第二首曲目,依此类推

首先,我尝试仅使用 Android 设置 - 将音量设置为 100%,将媒体音量设置为 100%。 然而,当我重新启动设备时,音量又恢复到 25% 左右。

然后我添加了一些 Java 代码将音量设置为 100%。

Context context = getApplicationContext();
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
int volumeLevel = 100; // Adjust this as needed
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, volumeLevel, 0);

我已将此代码添加到启动时的主要活动中。 我还添加了单击播放按钮、播放下一首曲目等时运行的代码。

一般观察是这样的: 当我安装该应用程序然后运行它时,第一首曲目的音量设置为 100%。 如果我重新启动设备并再次启动应用程序,然后播放第一首曲目,音量将为默认的 25%。当第一首曲目结束且第二首曲目开始时,音量设置为 100%。

以下是我的观察:

场景1

应用程序包含 Java 代码以将媒体音量设置为 100%

安装应用程序并启动 – 音量为 100%

关闭应用程序,重新启动 – 音量仍为 100%

重新启动设备,启动应用程序 – 音量为 20%

场景2

重新启动设备,触摸触摸屏上的音量控件

显示警告:

将音量提高到建议水平以上?高音量聆听 长时间可能会损害您的听力。取消/确定

无需点击任何内容,启动应用程序 – 音量为 100%

显示此警告的事实似乎允许应用程序将音量设置为 100%

场景3

重新启动设备,启动应用程序 – 音量为 20%

播放第一首曲目。

当曲目结束并开始第二首曲目时,音量会变小 至 100%

貌似后期可以把音量调到100%?

我意识到我没有在这里包含整个项目。 另外,最初我将上述 Java 代码仅包含在一个位置 - 主活动的 OnCreate() 上。 然后我不断添加越来越多的地方,试图看看它是否会生效。

如果有人对我可能做错/不做的事情有任何想法,或者有任何问题 - 欢迎所有反馈,谢谢。

java android media-player
1个回答
0
投票

您的代码看起来正确,您的方法也有些合乎逻辑,但我发现您仅在一台设备上尝试过此操作,这限制了您的调试。由于系统设置、权限、音频焦点和设备特定配置等多种因素,很难在所有设备上将音量始终保持在 100%。我建议您在多个设备上尝试您的代码,看看它们是如何工作的。

© www.soinside.com 2019 - 2024. All rights reserved.