c# - unity改变输出AudioMixerGroup
问题描述
我想改变 AudioSources 的音量,我想通过改变 AudioMixerGroup 来实现它。
我正在尝试通过脚本将 AudioSources 的 AudioMixerGroup 更改为新的,并且我正在通过以下方式加载它:
audioSource.outputAudioMixerGroup = Resources.Load("Resources/AudioMixerWithSound") ; //Here it can convert an object to explicit AudioMixerGroup.
//audioSource.AudioMixerGroup = Resources.Load("AudioMixer/AudioMixerGroup") as AudioMixerGroup; // Here AudioMixerGroup doesn't exist.
那么如何更改 AudioSource 的 outputAudioMixeGroup 呢?
解决方案
确实没有名为 的 Unity 资产AudioMixerGroup
。请注意,您可以创建的唯一音频混合资产是AudioMixer
转到Assets --> Create --> AudioMixer。如果这是您创建混音器的方式,那么要加载的资源文件类型AudioMixer
不是AudioMixerGroup
,扩展名应该是".mixer"。
请注意,您没有在Resources.Load
函数中包含资源文件夹名称。如果要加载的“AudioMixerWithSound”文件是 Resources 文件夹,您将使用Resources.Load("AudioMixerWithSound")
它来加载它而不是Resources.Load("Resources/AudioMixerWithSound")
. 此外,不包括扩展名“.mixer” 。
AudioMixer
从 Resources 文件夹加载文件:
//Get the AudioSource
AudioSource audioSource = GetComponent<AudioSource>();
//Load AudioMixer
AudioMixer audioMixer = Resources.Load<AudioMixer>("AudioMixerWithSound");
//Find AudioMixerGroup you want to load
AudioMixerGroup[] audioMixGroup = audioMixer.FindMatchingGroups("Master");
//Assign the AudioMixerGroup to AudioSource (Use first index)
audioSource.outputAudioMixerGroup = audioMixGroup[0];
请注意,如果 是子对象,则可以AudioMixerGroup
像使用函数一样访问子对象。例如,。有关更多信息,请参阅文档。FindMatchingGroups("Master")
/
GameObject.Find
FindMatchingGroups("Master/child")
推荐阅读
- java - 将 curl 请求转换为 Spring Flux WebClient
- python - 提交时的 sqlalchemy 错误 [WinError 10061]
- java - 选择父实体时,OneToOne 映射未获取子实体
- c# - 如何在服务器端 blazor 中捕获 window.onscroll 以模仿引导滚动间谍
- python - 如何在 python 数据表 h2oai 中删除重复项
- visual-studio-code - VS Code 标尺线错误
- swift - SwiftUI 如何获取动态颜色?
- pyspark - 将镶木地板转换为 json 以进行 dynamodb 导入
- .htaccess - 如何使用 .htaccess 重定向(重定向,而不是重写)
- sql - 从 QlikView 到 SQL 的 ODBC 在*第一次尝试时失败*