如何在Java for Windows中选择和操作不同的音频驱动程序

问题描述 投票:-1回答:1

我有一个场景,我在系统上有不同的声卡。我想在不同的声卡上播放音频流,这样如果一个声卡正在播放音频,其他声卡就不能播放。

假设我有soundcards A, B and C而且我有音频流Audio1,Audio2,Audio3

我想要

Soundcard A to play Audio2, meanwhile Soundcard B and C wont play the audio.
Soundcard B to play Audio3, meanwhile Soundcard A and C wont play the audio.
Soundcard A to play Audio2, meanwhile Soundcard A and B wont play the audio.

在这种情况下,如何使用Java操作不同的声音驱动程序。我使用的操作系统是Windows。如果有人在这方面帮助我,我将不胜感激。

java audio audio-streaming drivers soundcard
1个回答
0
投票

您需要使用JNI接口并将选择从C ++代码调用到Windows API。枚举Windows设备的代码是SetupDiGetClassDevs,它允许您以编程方式选择任何控制面板设备。但是,您的Java本机接口代码“Windows模块”无法在Android平板电脑上运行... Windows上的Java代码可移植到AndroidStudio,因此您的绘图图形功能,对话框,按键/触摸侦听器将大致相同。 Android上不需要JNI“Windows模块”。适用于AndroidStudio的JNI需要一个64位平台来为Android设备编译c ++。所以AndroidStudio确实有一个JNI接口;你只是无法调用SetupDiGetClassDevs Windows风格,因为Android基于Linux。

© www.soinside.com 2019 - 2024. All rights reserved.