社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

0 投票
Hello,
I have a doubt about the use of "Languages" in Wwise:
Can we switch between one language or another when we are in the game? If so, I can't find a way to do it.
Or are the languages reserved for Builds?

Also, if that is not possible in-game. Do you have any idea how to get there?

Thank you

Théophile Demarcq
分类:General Discussion | 用户: Théophile Demarcq (1.9k 分)
I raise this question again

In the game I'm working on, the default language is English and I would like when you press a button to switch the game to French.

Can this be done in-game with a Switch?
Should I reload the soundbank and restart the game? And if so, how ?

Has anyone been faced with this problem before and can help me or give me some leads to find?

Thank you

Théophile
I noticed that if we changed the Startup Language in Unity it worked (after 2 reloads).

https://www.dropbox.com/s/g8zrovo9tlc7c8f/Capture%20d%E2%80%99%C3%A9cran%202021-03-01%20%C3%A0%2015.47.02.png?dl=0

Is this where we have to dig to find the solution?

Is it with that? --->
AkSoundEngine.SetCurrentLanguage (newLangName)

Thank you

3 个回答

0 投票
 
已采纳
Hi everybody,

I am relaunching this subject because I still have not managed to resolve it. I would like to change the language in the game. I do this manipulation, but it doesn't work. Do you have an idea ? :

  - AkSoundEngine.StopAll (); // Stop all Sounds
  - AkBankManager.UnloadBank (bankName); // Unload the soundbank
  - AkSoundEngine.SetCurrentLanguage (newLangName); // Change the Language
  - Wait a few secondes ...
  - AkBankManager.LoadBank (bankName); // Load the new soundbank

Is there anything else to do? Something to configure?

Thank you very much

Théophile Demarcq
用户: Théophile Demarcq (1.9k 分)
采纳于 用户:Théophile Demarcq
0 投票
Hello,

I just found a bug where changing the language didn't work. Symptoms: the soundbank does not unload (it does not appear unloaded in the Profiler). This was due to the fact that the soundbank launch was in a Unity prefab and was loading multiple times ... Solution -> it had to be unloaded multiple times !! (even if it only appeared once in the profiler). Then do the manipulation to change the language and restart the soundbank
I don't know if that can help you ...
用户: Théophile Demarcq (1.9k 分)
0 投票

I went through a similar issue. I've partially used the Answer by Théophile Demarcq (below) but with some edits. This solution seems to work perfectly. I've implemented this in Unity (I didn't test it on other game engines).

  1. I created a setCurrentLanguage() function

    private IEnumerator setCurrentLanguage(string language)
    {
    AkBankManager.UnloadBank ("Soundbank_Name"); // Unload the soundbank
    yield return new WaitForSeconds(0.5f); // Wait to allow the sound engine to unload the bank. Edit the waiting time according to the time the engine needs to load the soundbank
    AkSoundEngine.SetCurrentLanguage ("Language_Name"); // Change the Language
    yield return new WaitForSeconds(0.5f); // Wait to allow the sound engine to load the bank. Edit the waiting time according to the time the engine needs to load the soundbank
    AkBankManager.LoadBank ("Soundbank_Name", true, true); // Load the new soundbank
    }
  2. And then I called it in a StartCoroutine: 
    StartCoroutine(setCurrentLanguage(language));

I hope it helps! Maybe there is a more efficient way of doing it?

用户: Balandino Di Donato (590 分)
...