Closed martindevans closed 2 years ago
Could you please explain a little bit more in details here? How exactly do I "fool" the system and pretend it's online when it isn't by fact? Thank you!
When Dissonance starts up it finds a behaviour implementing ICommsNetwork
(Assets/Plugins/Dissonance/Core/Networking/ICommsNetwork.cs), this behaviour encapsulates all the interactions with the network and Dissonance runs in the way it demands - when the network is offline, Dissonance does nothing.
To get voice flowing you need a few things:
Status=Connected
).Mode=Client/Host
).Once this is setup Dissonance will be recording audio and sending it to the network system (which can then throw the packets away). You can get access to this stream of raw audio with DissonanceComms.SubscribeToRecordedAudio
.
A long overdue update on this! See also issue #255
We're going to be releasing an "Offline Comms Network" which makes Dissonance thinks it's online, even though it's not connected. This makes the recording and playback pipelines to run and allows you to record audio from them.
We'll also be releasing a new base class for custom microphone subscribers, which handles capturing the data and buffering it. This will make implementing anything which processes the data (such as a recording system which writes to file) a lot simpler.
Dissonance 8.2.0 is now live on the asset store with the new OfflineCommsNetwork
included in the main package.
Some people have requested a way to use Dissonance even when offline, just as a local voice recorder (with better audio quality thanks to AEC/NS/AGC preprocessing).
Implementation note: Consider implementing this as a network session that pretends it's online but isn't actually. This should trick Dissonance into running the entire capture pipeline as normal.