为啥我的混音器有时会在播放时按 A/D 来调节音量?

Posted

技术标签:

【中文标题】为啥我的混音器有时会在播放时按 A/D 来调节音量?【英文标题】:Why does my audio mixer sometimes adjust the volume when I press A/D while playing?为什么我的混音器有时会在播放时按 A/D 来调节音量? 【发布时间】:2018-07-25 18:24:55 【问题描述】:

为什么会发生这种情况,我怎样才能让它停止?

正如标题所说,有时在玩游戏时按键盘上的 A/D 会调整音量,而我只想让 A/D 左右移动我的玩家角色而不影响音量。

背景信息: 我按照本教程设置了我的音量滑块 UI 元素: https://www.youtube.com/watch?v=YOaYQrN1oYQ&t=122s

这是我的音量滑块的代码:

public class MasterAudioslider : MonoBehaviour

    public AudioMixer audioMixer;

    public void SetVolume(float volume) => audioMixer.SetFloat("volume", volume);

我设置了四个 UI 按钮,以便在单击每个按钮时循环切换音频源组的开/关,然后循环回到第一组音频源。如果需要进一步说明,我可以发布代码。

这是我目前所知道的(请原谅格式,它应该是一个单级项目符号列表):

- 按 A 减小音量,按 D 增大音量。

左右箭头键也具有相同的效果,以及映射到左右字符移动的任何其他键。

如果我在 W 或 S 已关闭时按 A 或 D,则音量不会改变。这只发生在 W/S 已经关闭的情况下。

- 只要滑块元素或混音器本身被禁用/断开,问题就会停止。

在我的代码中,将其从 source.Pause() 更改为 source.Stop() 没有任何改变。

只是暂停游戏(并因此启用我的暂停菜单)不会触发问题。在暂停菜单中单击也不会触发问题。它仅在单击 UI 元素时发生(可能是因为某些值或状态已更改)。

让问题本身发生有点挑剔。我会尽力解释的。

当游戏开始时,我已经将一些音频源设置为在唤醒状态下播放,直到我单击一个按钮开始播放我的其他音频源时才会出现问题。一旦它循环播放第一个音频源,问题仍然存在。

即使我没有单击按钮播放新的音频源,使用滑块更改音频的音量似乎也会触发问题。

问题似乎在玩家移动到音频源衰减的最小范围后开始出现,并且即使他们移出该范围进入最大范围时仍然存在。编辑:情况并非如此,因为有可能在站在最大范围内并且从不进入最小值时触发问题。按下 W/S 后似乎需要更长的时间,但确实会发生。

如果玩家已进入最小衰减范围,则在按下 A 或 D 之前按下 W 或 S 之前不会发生这种情况。似乎没有其他键具有这种效果。

如果播放器在更改音源时处于最小范围内,则在再次按下 W/S 之前不会出现问题。

有时它会改变音量,然后卡在那个音量水平,有时即使满足所有这些“条件”,问题也会神奇地消失!

由于滑块是唯一直接“连接”到混音器的 UI 元素,并且一旦混音器未链接到滑块或完全禁用,问题就会停止,我认为罪魁祸首是混音器本身.这让我想到了一个问题:为什么混音器会从从未指定过的键盘输入输入??

我真的希望这只是我错过的一些复选框。

我很高兴应要求发布更多代码以进行进一步说明;我不想让这篇文章陷入文字墙。

【问题讨论】:

【参考方案1】:

也许在你的输入设置中 A 和 D 被设置为设置滑块的值或为轴和轴设置滑块。像Enter设置提交一个按钮左右。

您可以通过将滑块上的导航设置为无来解决此问题。

【讨论】:

是的,解决了!我有一种感觉,这只是我错过了检查员的一些设置。谢谢! @huckjulius 你能更清楚你的答案吗?究竟是什么解决了它?

以上是关于为啥我的混音器有时会在播放时按 A/D 来调节音量?的主要内容,如果未能解决你的问题,请参考以下文章

iOS编程修改系统音量

手机影音第九天,控制视频全屏播放与退出全屏播放,音量调节按钮来控制视频音量与静音的实现

电脑无法播放声音,怎样安装混音器设备,电脑没声。

Html 音频音量调节

Android - 调整个别应用程序音量

iPhone - 无法使用硬按钮调节音量