void Callback(object in_cookie, AkCallbackType in_type, AkCallbackInfo in_info) { switch (in_type) { case AkCallbackType.AK_EndOfEvent: if (in_cookie != null) { AudioCtrl.EventCallback cb = (AudioCtrl.EventCallback)in_cookie; cb(); } break; case AkCallbackType.AK_Marker: AkMarkerCallbackInfo info = in_info as AkMarkerCallbackInfo; Debug.Log(info.strLabel); break; case AkCallbackType.AK_MusicSyncBeat: //互动音乐节拍点事件 break; default: //AkSoundEngine.LogError("Callback Type not march."); break; } }
public uint PlaySound(string eventName, AudioCtrl.EventCallback cb, GameObject gameObj = null) { if (!CheckAndLoadBank(eventName)) { return(0); } uint playingID = AkSoundEngine.AK_INVALID_PLAYING_ID; if (gameObj == null) { gameObj = mGlobalObject; } if (!string.IsNullOrEmpty(eventName)) { playingID = AkSoundEngine.PostEvent(eventName, gameObj, (uint)AkCallbackType.AK_EndOfEvent, Callback, cb); } return(playingID); }