menu
 

Audiokinetic의 커뮤니티 Q&A는 사용자가 Wwise와 Strata 커뮤니티 내에서 서로 질문과 답변을 하는 포럼입니다. Audiokinetic의 기술 지원팀에게 문의하고 싶으신 경우 지원 티켓 페이지를 사용해주세요.

+1 투표
Hello,

I'm trying to use AkSoundEngine.GetSourcePlayPosition in Unity. I'd like to display the PlayPosition in the console first, as a test.

Unfortunately I'm always getting an "AK_PlayingIDNotFound" as a result of AkSoundEngine.GetSourcePlayPosition. Also the playPosition is 0.

(I've try to follow this example : https://www.audiokinetic.com/en/library/edge/?source=SDK&id=soundengine_query_pos.html )

Here is my code :

public class Audio_Sphere : MonoBehaviour
{
    public uint eventID;
    public static uint playingID;
    public int playPosition;
   
    void Start()
    {
        playingID = AkSoundEngine.PostEvent(eventID, gameObject, (uint)AkCallbackType.AK_EnableGetSourcePlayPosition, null, null);  
    }

    
    void Update()
    {
        AKRESULT testResult = AkSoundEngine.GetSourcePlayPosition(playingID, out playPosition);

        Debug.Log(testResult);

        Debug.Log(playPosition);
    }

}

 

When I use the playingID for something else ( like "AkSoundEngine.StopPlayingID" ) it works.

If someone could tell me what's wrong with my code it would be nice

Thanks
General Discussion Jean-Baptiste A. (110 포인트) 로 부터

1 답변

0 투표
Hello,

This is a strange place. You only need to add an empty callback function to the fourth parameter, as shown below.

 

public class NewBehaviourScript : MonoBehaviour
{
    uint bnvb=3;
    uint[] bnvbs=new uint[3];
    // Start is called before the first frame update
    void Start()
    {
        AkBankManager.LoadBank("New_SoundBank", false, false);
        bnvb = AkSoundEngine.PostEvent("Play_Falcom_Sound_Team_J_D_K________", this.gameObject, 0x100000, MusicCallBack,null);
        //AkSoundEngine.PostEvent("Play_Falcom_Sound_Team_J_D_K________", this.gameObject,AkCallbackType.AK_EnableGetSourcePlayPosition, null, null);
        Debug.Log(bnvb);
    }

    // Update is called once per frame
    void Update()
    {
        int dt=1;
        Debug.Log(AkSoundEngine.GetSourcePlayPosition(bnvb, out dt));
        Debug.Log(dt);
    }
    void MusicCallBack(object in_cookie, AkCallbackType in_type, object in_info)
    {
    }
}
(160 포인트) 로 부터
Thanks a lot for your answer !
...