Hi, when I use returned channel from PlayDialogVoice() and testing if played by isPlaying, when Unity editor is muted, it still return true, till I unmute editor. So this blocking flow according to isPlaying.
Exist any possibility how to isPlaying can reflect audio length with muted audio?
public static FMOD.Channel PlayDialogVoice(string dialogKey, out float length)
{
StopCurrentDialogue();length = 0.0f; string currentLanguage = LocalizationSettings.SelectedLocale.Identifier.Code; string path = $"{BaseVoicesPath}/{currentLanguage}/{dialogKey}.voice.mp3"; DebugUtility.Log($"PlayDialogVoice:{dialogKey} from:{path}", DebugTag.TagAudio); FMOD.MODE mode = FMOD.MODE.CREATESTREAM | FMOD.MODE.LOOP_OFF; // Create streaming audio from mp3 file FMOD.RESULT result = RuntimeManager.CoreSystem.createSound(path, mode, out _sDialogSound); if (result != FMOD.RESULT.OK) { DebugUtility.LogError($"PlayDialogVoice cant load dialog from:{path} result:{result}", DebugTag.TagAudio); return default; } // Get dialog group result = _sDialogBus.getChannelGroup(out FMOD.ChannelGroup dialogueGroup); DebugUtility.Log($"PlayDialogVoice getChannelGroup:{result}", DebugTag.TagAudio); result = RuntimeManager.CoreSystem.playSound(_sDialogSound, dialogueGroup, false, out _sDialogChannel); DebugUtility.Log($"PlayDialogVoice playSound:{result}", DebugTag.TagAudio); if (result == FMOD.RESULT.OK) { _sDialogChannel.setPitch(1.0f); // For tests, that voice reacts on bus changes //dialogBus.setMute(true); //dialogBus.setVolume(0.5f); _sDialogSound.getLength(out uint lengthMs, FMOD.TIMEUNIT.MS); length = lengthMs / 1000.0f; DebugUtility.Log($"PlayDialogVoice length:{length}", DebugTag.TagAudio); return _sDialogChannel; } else { return default; }}
Thanks for answer
Milan
![]()