https://qa.fmod.com/t/skip-seek-to-specific-time-within-sound/15766
FMOD.Studio.EventInstance instance;
int aa = 0;
public void SetTimelinePosition(int milliSeconds)
{
string Event = "event:/Music/War_on_top/Music";
if (aa == 0)
{
aa = 1;
FMOD.Studio.EventDescription eventDescription = RuntimeManager.GetEventDescription(Event);
eventDescription.createInstance(out instance);
FMOD.RESULT result = instance.setTimelinePosition(milliSeconds);
instance.start();
}
else
{
FMOD.RESULT result = instance.setTimelinePosition(milliSeconds);
}
}
public int GetTimelinePosition()
{
instance.stop(FMOD.Studio.STOP_MODE.IMMEDIATE);
aa = 0;
return 0;
}
void SetTimelinePosition(int milliSeconds);
int GetTimelinePosition();
public void GetTimelinePosition()
{
if (m_testFmod == null)
{
m_testFmod = EngineUtility.GetIAudio() as IXFmod;
}
if (m_testFmod != null)
{
XDebug.singleton.AddGreenLog("event position=" + m_testFmod.GetTimelinePosition());
}
}
public void SetTimelinePosition(int milliSeconds)
{
if (m_testFmod == null)
{
m_testFmod = EngineUtility.GetIAudio() as IXFmod;
}
if (m_testFmod != null)
{
m_testFmod.SetTimelinePosition(milliSeconds);
}
}
cmd:
private bool GetEventTimelinePosition(params string[] value)
{
XAudioMgr.singleton.GetTimelinePosition();
return true;
}
private bool SetEventTimelinePosition(params string[] value)
{
XAudioMgr.singleton.SetTimelinePosition(int.Parse(value[1]));
return true;
}