# Async sound loading? Instantly?

**URL:** <https://qa.fmod.com/t/async-sound-loading-instantly/16231>\
**Category:** FMOD Engine\
**Created:** [September 28, 2020, 1:52pm UTC](https://qa.fmod.com/t/async-sound-loading-instantly/16231 "2020-09-28T13:52:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![RusJJ](https://avatars.discourse-cdn.com/v4/letter/r/919ad9/32.png) [@RusJJ](https://qa.fmod.com/u/RusJJ)\
**Post date:** [September 28, 2020, 1:52pm UTC](https://qa.fmod.com/t/async-sound-loading-instantly/16231/1 "2020-09-28T13:52:24Z")

</div>

I dont really know where to contact with you, so…

Hi there! Adding FMOD to my “game” (Source Engine mod).  
Trying to apply FMOD engine to shooting sounds. As i understood, FMOD’s createStream has a queue of file loading. That’s why i got sound “stopping” and playing like in a queue (waiting for the same sound to end).

Using FMOD\_NONBLOCKING - it looks weird. What is it doing? Is it really good to use it with createStream + FMOD\_NONBLOCKING + loop until ot became ready?

UPD: Added a little delay (~50ms), it seems like sounds are better now. What’s going on? ☹

P.S. Shooting sounds still weird and “disappearing” sometimes.

P.P.S. Code example:

```auto
	if(CFMODManager::CheckError(GetFMODManager()->GetSystem()->createStream(szSound, FMOD_2D | FMOD_NONBLOCKING, 0, &pSound)) != FMOD_OK)
		return;

	FMOD_RESULT result;
	FMOD_OPENSTATE state;
	FMOD::Channel* pChannel = nullptr;
	do
	{
		result = pSound->getOpenState(&state, 0, 0, 0);

		if (state == FMOD_OPENSTATE_READY && !pChannel)
		{
			result = GetFMODManager()->GetSystem()->playSound(pSound, GetFMODManager()->GetChannelGroup(CHANNELGROUP_SOUNDS), true, &pChannel);
			break;
		}
		else if (state == FMOD_OPENSTATE_ERROR)
			return;
	} while (1);
	CFMODManager::CheckError(pChannel->setVolume(flVolume));
	CFMODManager::CheckError(pChannel->setPitch(1.0f));
	CFMODManager::CheckError(pChannel->setPaused(false));
```

---

<div class="post-metadata">

**Author:** ![RusJJ](https://avatars.discourse-cdn.com/v4/letter/r/919ad9/32.png) [@RusJJ](https://qa.fmod.com/u/RusJJ)\
**Post date:** [October 1, 2020, 5:37pm UTC](https://qa.fmod.com/t/async-sound-loading-instantly/16231/2 "2020-10-01T17:37:38Z")

</div>

Everyone ignoring, lol. Btw looks like i did something and it works. Thanks, lmao…

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [October 6, 2020, 11:39pm UTC](https://qa.fmod.com/t/async-sound-loading-instantly/16231/3 "2020-10-06T23:39:12Z")

</div>

What is the problem you are encountering?

Streaming sounds will decompress them at runtime and can only be played once at a time due to a stream only having 1 stream buffer and file handle.

[https://fmod.com/resources/documentation-api?version=2.1&page=core-guide.html#streaming-settings](https://fmod.com/resources/documentation-api?version=2.1&page=core-guide.html#streaming-settings)
