Muting a sound playing while playing but without losing the data flow

I am recording a sound from the mic on Unity+Fmod then playing it using:

Then I take the data from the channel I have put in playSound funciton and it gives me the sound data usint channel.getChannelGroup(out channelGroup); I then use the data for a visualization of the sound, this works fine. But then I don’t want to hear the recording, just visualize it. What should I do? if I do channel.setVolume(0); this mutes the sound but then I don’t get any data from it any more. I can’t use mute on the channel, but if it is giving the sound to some other device that is playing it, maybe there I can mute the sound, I don’t know enough about Fmod but maybe FMOD studio listener is what gets all the sounds, maybe there I can mute something, anyway, I’d appreciate if someone could find me a solution.
Thank you.

Please Help.

Setting the CoreSystem output to FMOD.OUTPUTTYPE.NOSOUND should do the trick, more information on setOutput can be found here.
You won’t get any audio output at all from FMOD if you call it on RuntimeManager.CoreSystem, so you might want to create another system object just for playing back visualizations if you still needed other sounds to play- that or switch the output back to what it was when you are done playing back visualizations. For an example of how to create a system object in Unity, you can see how it’s done in “Assets\Plugins\FMOD\src\Editor\EditorUtils.cs” inside static void CreateSystem().

I tried using NOSOUND, but didn’t get any signal, I think the system is turing every channel that is not heard in the scene no matter why, into a virtual channel, need to know how to turn off the option on initialization, so a sound with volume 0 will not be turned into a virtual one. I know I should use a callback object, which I did, but don’t know what line of code I should use in that object to change this property.

Right, perhaps NOSOUND mode isn’t the way to go when reading from a channelGroup- I was able to read data in NOSOUND mode and continue getting data and a realtime visualisation of playing audio when using a DSP read Callaback as per the DSP Capture Example so maybe take a look at that if you haven’t already.
Another thing you could try if you want to access the recorded data without playing it back or changing the System output is using Sound.@lock on the recorded sound to access the underlying data directly, rather than calling RuntimeManager.CoreSystem.playSound and using the channelGroup to get the data. Here is the API reference for lock, be sure to unlock afterwards!