下面我粘贴了一些我一直在研究的代码。我需要从混音器中获取目标线,但我无法弄清楚如何使用Line.Info []数组请求一个。它的长度为0,但如果我将其作为字符串输出,它将保存一行信息。我想投它,但我不知道如何正确地做到这一点。
谢谢, 帽子
package soundconnect;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Line;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.Mixer;
public class SoundConnect {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws LineUnavailableException {
Mixer.Info [] Mixes = AudioSystem.getMixerInfo();
Mixer Sys_Mix = AudioSystem.getMixer(Mixes[1]);
Line.Info[] T_NFO = Sys_Mix.getTargetLineInfo();
Line Line1 = Sys_Mix.getLine(T_NFO[0]);
/* T_NFO has a length of 0 but has some information when I output it
*
*/
}
}
答案 0 :(得分:1)
当您将其作为字符串输出时,表示您正在调用toString()
的{{1}}方法,该方法是Java中的对象。这将打印出阵列的内存地址和类名。数组对象的默认toString()打印与数组中的元素没有任何关系。它将打印相同的值,无论其中存储的是什么,包括它是否有array
长度。