Community Q&A

Welcome to Audiokinetic’s community-driven Q&A forum. This is the place where Wwise and Strata users help each other out. For direct help from our team, please use the Support Tickets page. To report a bug, use the Bug Report option in the Audiokinetic Launcher. (Note that Bug Reports submitted to the Q&A forum will be rejected. Using our dedicated Bug Report system ensures your report is seen by the right people and has the best chance of being fixed.)

To get the best answers quickly, follow these tips when posting a question:

  • Be Specific: What are you trying to achieve, or what specific issue are you running into?
  • Include Key Details: Include details like your Wwise and game engine versions, operating system, etc.
  • Explain What You've Tried: Let others know what troubleshooting steps you've already taken.
  • Focus on the Facts: Describe the technical facts of your issue. Focusing on the problem helps others find a solution quickly.

+1 vote
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
in General Discussion by Jean-Baptiste A. (110 points)

1 Answer

0 votes
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)
    {
    }
}
by (160 points)
Thanks a lot for your answer !
...