커뮤니티 Q&A

Audiokinetic의 커뮤니티 Q&A 포럼에 오신 것을 환영합니다. 이 포럼은 Wwise와 Strata 사용자들이 서로 도움을 주는 곳입니다. Audiokinetic의 직접적인 도움을 얻으려면 지원 티켓 페이지를 사용하세요. 버그를 보고하려면 Audiokinetic 런처에서 Bug Report 옵션을 사용하세요. (Q&A 포럼에 제출된 버그 보고는 거절됩니다. 전용 Bug Report 시스템을 사용하면 보고 내용이 담당자에게 정확히 전달되어 문제 해결 가능성이 크게 높아집니다.)<segment 6493>

빠르고 정확한 답변을 얻으려면 질문을 올릴 때 다음 팁을 참고하세요.

  • 구체적인 내용을 적어주세요: 무엇을 하려는지, 혹은 어떤 특정 문제에 부딪혔는지 설명하세요.
  • 핵심 정보를 포함하세요: Wwise와 게임 엔진 버전, 운영체제 등 관련 정보를 함께 제공하세요.
  • 시도한 방법들을 알려주세요: 문제 해결을 위해 이미 어떤 단계를 시도해봤는지 설명해주세요.
  • 객관적인 사실에 초점을 맞추세요: 문제의 기술적 사실을 중심으로 설명하세요. 문제에 집중할수록 다른 사람들이 더 빠르게 해결책을 찾을 수 있습니다.

+1 투표
The default method of playing video inside of Unity is to use a MovieTexture, which contains a reference to a Unity AudioClip for its synced audio.

Because we are using WWise, we have disabled the default Unity sound engine, as per the integration instructions. However, whenever we try to use a WWise audio event with the video trigger, they always seem to be just a bit out of sync with each other. I have tried streaming the video using Unity's WWW class, playing it directly, loading it in a coroutine and waiting a second before triggering both events--nothing seems to work.

Are there any best practices or workarounds for getting synced audio/video inside of Unity while using WWise?
General Discussion Brent S. (110 포인트) 로 부터

1 답변

+1 투표

The Unity default audio engine can work besides Wwise without issue.  We recommend disabling it for two reasons:

  • saving some memory (about 400k)
  • Avoiding confusion between both toolsets

That said, the simplest way to keep the sync in a built-in MovieTexture is to use the Unity built-in audio for that purpose.  There would probably be a way of doing that with Wwise too, with GetSourcePlayPosition() and some time adjustment method but it would involve programmer time.  I'm not sure Unity provides a hook to control the video playback speed.

Mathieu J. (Audiokinetic) (7.1k 포인트) 로 부터
I am using the XboxOne plugin. I'm also using a native plugin provided by Unity for playing video files on the Xbox One.

With that plugin, we need to play an audio clip along with the video file. The plugin can synchronize the video playback to the audio playback. This works by using a DSP value provided by Unity's audio engine.

I tried using Unity's built-in audio engine to play the audio clip as suggested above. However, the Wwise audio engine doesn't get initialized properly if the Unity audio engine is enable.

Is there a way of having both audio engines working together on Xbox One ( it works fine on PC or PS4) ?
Otherwise, if the audio clip was played by Wwise, would it be possible to calculate a DSP value from Wwise and use that instead for synchronizing the video playback?
We're having the Xbox One issue too. Any solutions surfaced after all these years? :)
Another bump for 2021 - is there any way to get XB1 Wwise to play nicely with Unity audio for video playback?
Hi! The issue is the XMA hardware, which can only be used by one of the tools. If Unity's audio toolset is enabled, it uses the XMA hardware and Wwise can't initialize. You can disable Wwise's XMA usage by setting AkPlatformInitSettings.uMaxXMAVoices to 0 (it is also visible in the Init Setting property editor). But, obviously, this will prevent XMA usage in your audio design, you'll have to use Vorbis, ADPCM or Opus. Otherwise, you can ask Unity for a toggle to disable XMA initialization (hint, they refused in the past).
...