Beispiel #1
0
    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;
        }
    }
Beispiel #2
0
    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);
    }