private int OnMusicDelivery(IntPtr sessionHandle, IntPtr audioFormatHandle, IntPtr frames, int numFrames) { if (numFrames == 0) { return(0); } if (frames == IntPtr.Zero) { return(0); } AudioFormat audioFormat = LibSpotify.AudioFormatFromHandle(audioFormatHandle); int n = numFrames * FrameSize(audioFormat); byte[] pcmData = new byte[n]; Marshal.Copy(frames, pcmData, 0, n); EventDispatcher.Dispatch(this, sessionHandle, MusicDelivered, new MusicDeliveryEventArgs(pcmData, audioFormat)); pcmData = null; return(numFrames); }