pinarg
New member
- Joined
- May 19, 2025
- Messages
- 2
- Programming Experience
- 3-5
I started a .NET Core WPF project to develop a multi-zone player system for businesses such as hotels that have multiple areas/zones. To handle a large number of audio drivers and channels, I started working with Dante Virtual Soundcard (DVS), which provides two types of services: WDM mode and ASIO mode.
I've made some progress on my application. In my network, I have a switch and two Dante audio devices. One is located in my kitchen, connected to two speakers, and the other is in my room, also connected to two speakers. Using Dante Controller, I assigned the output channels of these devices: one is fixed to channels 3-4 and the other to 5-6.
In my WPF application, when the main screen loads, I programmatically read the available audio drivers. When I go to the player creation screen, I select which audio driver and which channel the player will use. For example, my kitchen player will use Dante Virtual Soundcard in ASIO mode and output through channels 3-4 (tx3-tx4), while the player in my room will use channels 5-6 (tx5-tx6).
I have used both NAudio and ManagedBass libraries for this software. However, I am experiencing the following issue: if DVS is running in ASIO mode, you can only call asio.init() once—only a single initialization is allowed. So, when I try to start one player, the playlist starts playing, but when I try to start another at the same time, I get a "Dante Virtual Soundcard already in use" error. In a different approach, whenever I start a player, I hear the same sound from all channels simultaneously.
After a lot of research, including consulting AI, I was advised to use the ManagedBass library, since Dante Virtual Soundcard allows only one instance per application when using NAudio, but with ManagedBass this problem might be solved. However, when I tried this, the sound was very distorted, noisy, and played in slow motion—I couldn’t get it to work properly.
I’m really stuck at this point. If anyone has experience with a similar setup, or with NAudio, ManagedBass, and DVS, I’d really appreciate any guidance. I’ve been struggling with this for a week now and my employer is starting to get frustrated. Your feedback is very important to me—thank you in advance.
I've made some progress on my application. In my network, I have a switch and two Dante audio devices. One is located in my kitchen, connected to two speakers, and the other is in my room, also connected to two speakers. Using Dante Controller, I assigned the output channels of these devices: one is fixed to channels 3-4 and the other to 5-6.
In my WPF application, when the main screen loads, I programmatically read the available audio drivers. When I go to the player creation screen, I select which audio driver and which channel the player will use. For example, my kitchen player will use Dante Virtual Soundcard in ASIO mode and output through channels 3-4 (tx3-tx4), while the player in my room will use channels 5-6 (tx5-tx6).
I have used both NAudio and ManagedBass libraries for this software. However, I am experiencing the following issue: if DVS is running in ASIO mode, you can only call asio.init() once—only a single initialization is allowed. So, when I try to start one player, the playlist starts playing, but when I try to start another at the same time, I get a "Dante Virtual Soundcard already in use" error. In a different approach, whenever I start a player, I hear the same sound from all channels simultaneously.
After a lot of research, including consulting AI, I was advised to use the ManagedBass library, since Dante Virtual Soundcard allows only one instance per application when using NAudio, but with ManagedBass this problem might be solved. However, when I tried this, the sound was very distorted, noisy, and played in slow motion—I couldn’t get it to work properly.
I’m really stuck at this point. If anyone has experience with a similar setup, or with NAudio, ManagedBass, and DVS, I’d really appreciate any guidance. I’ve been struggling with this for a week now and my employer is starting to get frustrated. Your feedback is very important to me—thank you in advance.