#
Audio mixer
The audio mixer block mixes multiple audio streams into one. Block mixes the streams regardless of their format, converting if necessary.
All input streams will be synchronized.
Use the AudioMixerSettings
class to set the custom output format.
#
Block info
Name: AudioMixerBlock.
#
The sample pipeline
graph LR; VirtualAudioSourceBlock#1-->AudioMixerBlock; VirtualAudioSourceBlock#2-->AudioMixerBlock; AudioMixerBlock-->VorbisEncoderBlock; VorbisEncoderBlock-->OGGSinkBlock;
#
Sample code
var pipeline = new MediaBlocksPipeline();
var audioSource1Block = new VirtualAudioSourceBlock(new VirtualAudioSourceSettings());
var audioSource2Block = new VirtualAudioSourceBlock(new VirtualAudioSourceSettings());
var audioMixerBlock = new AudioMixerBlock(new AudioMixerSettings());
pipeline.Connect(audioSource1Block.Output, audioMixerBlock.CreateNewInput());
pipeline.Connect(audioSource2Block.Output, audioMixerBlock.CreateNewInput());
var vorbisEncoderBlock = new VorbisEncoderBlock(new VorbisEncoderSettings());
pipeline.Connect(audioMixerBlock.Output, vorbisEncoderBlock.Input);
var oggSinkBlock = new OGGSinkBlock(new OGGSinkSettings(@"output.ogg"));
pipeline.Connect(vorbisEncoderBlock.Output, oggSinkBlock.CreateNewInput(MediaBlockPadMediaType.Audio));
await pipeline.StartAsync();
#
Platforms
Windows, macOS, Linux, iOS, Android.