# How does FMOD play PCM data

**URL:** <https://qa.fmod.com/t/how-does-fmod-play-pcm-data/18905>\
**Category:** FMOD Engine\
**Tags:** cpp\
**Created:** [June 17, 2022, 2:15am UTC](https://qa.fmod.com/t/how-does-fmod-play-pcm-data/18905 "2022-06-17T02:15:06Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![15754504632](https://avatars.discourse-cdn.com/v4/letter/1/0ea827/32.png) [@15754504632](https://qa.fmod.com/u/15754504632)\
**Post date:** [June 17, 2022, 2:15am UTC](https://qa.fmod.com/t/how-does-fmod-play-pcm-data/18905/1 "2022-06-17T02:15:06Z")

</div>

My requirement is to make Internet calls

I have used FMOD\_Sound\_Lock () to get PCM data, but I can’t find a function to play PCM data directly. I add THE PCM data to the WAV data header, and then send it to the other end to play. It works, but it doesn’t work well. Is there a way to play PCM data directly? And there is no delay.

---

<div class="post-metadata">

**Author:** ![jeff\_fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/jeff_fmod/32/1766_2.png) [@jeff\_fmod](https://qa.fmod.com/u/jeff_fmod)\
**Post date:** [June 24, 2022, 5:51am UTC](https://qa.fmod.com/t/how-does-fmod-play-pcm-data/18905/2 "2022-06-24T05:51:10Z")

</div>

To play PCM data you can also use `FMOD_Sound_Lock()` and just overwrite the PCM data in the buffer. Alternatively, you could implement a [`FMOD_SOUND_PCMREAD_CALLBACK`](https://fmod.com/resources/documentation-api?version=2.02&page=core-api-sound.html#fmod_sound_pcmread_callback). An example of how to implement this can be found in the user\_created\_sound example.
