# Can't get setMute(false) to resume audio

**URL:** <https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388>\
**Category:** Unity\
**Created:** [September 21, 2025, 3:39pm UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388 "2025-09-21T15:39:17Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [September 21, 2025, 3:39pm UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/1 "2025-09-21T15:39:17Z")

</div>

I’m building an internet radio with streaming from an url.

While channel.setMute(true) nicely stops the audio, setMute(false) doesn’t resume the audio.

(I don’t want to pause the stream so it will lag behind and/or stop)

I tried this on the channel, on channel.getChannelGroup, on masterchannelgroup, but no audio on “unMute”.

Do I need to do/restart something extra after this call?

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [September 25, 2025, 5:20am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/2 "2025-09-25T05:20:09Z")

</div>

Unfortunately, I haven’t been able to reproduce the issue you’re describing.

> [@Schnappiroc](#):
>
> Do I need to do/restart something extra after this call?

No, you shouldn’t need to do anything extra. If you take a look at the “net\_stream” Core API example included with the FMOD Engine installer, `Channel::setMute` is used to mute and unmute the net stream in when buffer starvation occurs.

A few questions:

- What version of the FMOD Engine are you using?
- Are you able to reproduce the same issue in the previously mentioned “net\_stream” example?
- How specifically are you creating the streaming sound? i.e. what [modes](https://www.fmod.com/docs/2.02/api/core-api-common.html#fmod_mode) are you using, and what settings are used for [FMOD\_CREATESOUNDEXINFO](https://www.fmod.com/docs/2.02/api/core-api-system.html#fmod_createsoundexinfo) if any?
- Is the channel still [playing](https://www.fmod.com/docs/2.02/api/core-api-channelcontrol.html#channelcontrol_isplaying), [not paused](https://www.fmod.com/docs/2.02/api/core-api-channelcontrol.html#channelcontrol_getpaused), and [not virtual](https://www.fmod.com/docs/2.02/api/core-api-channel.html#channel_isvirtual) when and after you attempt to unmute it?
- What result does `Channel::setMute` return when you attempt to unmute the channel?

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 5, 2025, 10:44am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/3 "2025-10-05T10:44:46Z")

</div>

I see I didn’t mention I’m using this from Unity, so I using the FMOD for Unity, not the “bare” Engine.  
I can see that when I attempt to unmute the stream, it is VIRTUAL.

for the modes I was struggling a bit at first, but I now have this working

```c
        FMOD.RESULT result = system.createSound(streamUrl, 
            MODE.CREATESTREAM | MODE.NONBLOCKING | MODE.LOOP_NORMAL, 
            out sound);

```

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 5, 2025, 10:52am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/4 "2025-10-05T10:52:57Z")

</div>

After actually looking at the MODES (and not just using AI’s proposed and apparently half working stuff) I removed the NONBLOCKING and LOOP\_NORMAL which don’t make any sense on a radio-stream.

And now the setMute(false) works.

Sorry, my bad, lazy weekends 😉

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 5, 2025, 10:56am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/5 "2025-10-05T10:56:13Z")

</div>

But now the stream feels/sounds like it’s getting paused, meaning that when I Unmute, it resumes where it was muted, not “realtime”, meaning the stream is getting behind “live” sound.

Even though getPaused() returns false.

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [October 9, 2025, 5:35am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/6 "2025-10-09T05:35:23Z")

</div>

> [@Schnappiroc](#):
>
> But now the stream feels/sounds like it’s getting paused, meaning that when I Unmute, it resumes where it was muted, not “realtime”, meaning the stream is getting behind “live” sound.
> 
> Even though getPaused() returns false.

That’s definitely strange. If you use [ChannelControl::setVolume](https://www.fmod.com/docs/2.02/api/core-api-channelcontrol.html#channelcontrol_setvolume) to set the volume to 0 or slightly above it (i.e. 0.05) instead of muting, does the same behavior occur? I’d also recommend using [Channel::setPriority](https://www.fmod.com/docs/2.02/api/core-api-channel.html#channel_setpriority) to see the priority to 0, just in case this is some kind of interaction between the stream and virtualization system.

Could I also get you to set your [Logging Level](https://www.fmod.com/docs/2.02/unity/settings.html#logging-level) to “Log”, enable [API error logging](https://www.fmod.com/docs/2.02/unity/settings.html#enable-api-error-logging), and send a log in which you reproduce the issue?

---

<div class="post-metadata">

**Author:** ![Schnappiroc](https://avatars.discourse-cdn.com/v4/letter/s/7ab992/32.png) [@Schnappiroc](https://qa.fmod.com/u/Schnappiroc)\
**Post date:** [October 10, 2025, 8:55am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/7 "2025-10-10T08:55:48Z")

</div>

With setMute(true/false) or setVolume(0f/1f) and channel::priority=default=128 this result:  
Channel before setMute(true): isPlaying=True, getPaused=False, isVirtual=False  
Channel after setMute(true): isPlaying=True, getPaused=False, isVirtual=False  
Channel becomes virtual quite quick after this, within 100 ms.  
Channel before setMute(false): isPlaying=True, getPaused=False, isVirtual=True  
Channel after setMute(false): isPlaying=True, getPaused=False, isVirtual=True

After setting the priority of the channel to 0, it will not become virtual and this results in a continuing stream, not paused.

Setting the volume “low” obviously also continued the stream.

---

<div class="post-metadata">

**Author:** ![Leah\_FMOD](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/leah_fmod/32/3685_2.png) [@Leah\_FMOD](https://qa.fmod.com/u/Leah_FMOD)\
**Post date:** [October 20, 2025, 3:38am UTC](https://qa.fmod.com/t/cant-get-setmute-false-to-resume-audio/23388/8 "2025-10-20T03:38:32Z")

</div>

Sorry for the delayed response!

> [@Schnappiroc](#):
>
> After setting the priority of the channel to 0, it will not become virtual and this results in a continuing stream, not paused.

Just to confirm, is this “continuing stream” the desired behavior?

Could I also get you to answer a few of the questions from my previous replies? Specifically:

> [@Leah\_FMOD](#):
>
> - What version of the FMOD Engine are you using?
> - Are you able to reproduce the same issue in the previously mentioned “net\_stream” example?

> [@Leah\_FMOD](#):
>
> Could I also get you to set your [Logging Level](https://www.fmod.com/docs/2.02/unity/settings.html#logging-level) to “Log”, enable [API error logging](https://www.fmod.com/docs/2.02/unity/settings.html#enable-api-error-logging), and send a log in which you reproduce the issue?

The “net\_stream” example in particular should serve as a guide on how to implement the kind of behavior you seem to want, so I’d highly recommend testing it, and if it works for you, using it as reference.
