How to use sound.readData?

I would like to know what I’m doing wrong.
I got a C# script from a website that is recording the user input from his mic, and then waits one second and plays it.
If the sound plays, which it does, I tried it on Unity, then the sound file does exist, so now I want to take the data out of this file and analyze it. I see that there is a function on the sound object called readData, I’m trying to use it but I’m probably doing something wrong, here is my script, any help would be appreciated.

    private FMOD.RESULT soundResult; 
    System.IntPtr BufferPtr;
    uint LenRead;
    FMOD.RESULT dataReadResult;
        soundResult = RuntimeManager.CoreSystem.createSound(exinfo.userdata, FMOD.MODE.LOOP_NORMAL | FMOD.MODE.OPENUSER, 
            ref exinfo, out sound);

        //Step 5: Start recording through our chosen device into our Sound object.

        RuntimeManager.CoreSystem.recordStart(RecordingDeviceIndex, sound, true);

        // Step 6: Start a Corutine that will tell our Sound object to play after a ceratin amount of time.


    IEnumerator Wait()
        yield return new WaitForSeconds(Latency);
        RuntimeManager.CoreSystem.playSound(sound, channelGroup, true, out channel);
        playOkay = true;
        Debug.Log("Ready To Play");

        if (soundResult == FMOD.RESULT.OK)

            BufferPtr = new System.IntPtr(exinfo.length);

            dataReadResult = sound.seekData(0);
            dataReadResult = sound.readData(BufferPtr, exinfo.length, out LenRead);
            bool flag = (dataReadResult == FMOD.RESULT.OK);
            print(""+ flag);

The sound.readData is for reading from files, not for recorded user sounds. It would be better to use sound.lock and sound.unlock instead: