public void PlayOneAudio(int audioId) { AudioActionType ptype = base.getAudioType(audioId); AudioActionBase audioAction = null; Action <int> startCall = delegate(int aid) { OnStartCall(aid, audioAction); }; audioAction = base.NewAudio(ptype, audioId, startCall, OnEndCall); audioAction.Play(); }
private void OnEndCall(int audioGuid) { if (!m_IsStop) { DequeueAudio(); } MsgDispatcher.SendMessage(GlobalEventType.AudioPlayEnd, audioGuid); if (!m_IsStop) { AudioActionBase nextAction = PeekAudio(); if (nextAction != null) { nextAction.Play(); } } }
public void PlayOneAudio(int audioId) { AudioActionType ptype = base.getAudioType(audioId); if (ptype == AudioActionType.Loop) { ptype = AudioActionType.Once; } AudioActionBase audioAction = null; audioAction = base.NewAudio(ptype, audioId, OnStartCall, OnEndCall); if (IsCanPlay()) { audioAction.Play(); } EnqueueAudio(audioAction); }