No, once microphone recording begins audio will be streamed in real-time. Lock will give you a pointer to the data but will not prevent more being written. The only way to halt the flow of data is by stopping the recording.

You would need to poll in the sleep loop to achieve synchronous behavior.