下面我粘贴了一些我一直在处理的代码。我需要从 Mixer 获取目标线,但我不知道如何使用 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
*
*/
}
}
最佳答案
当您将其输出为字符串时,意味着您正在调用 array
的 toString()
方法,该数组是 Java 中的一个对象。这将打印出数组的内存地址和类名称。数组对象的默认 toString() 打印与数组中的元素无关。无论其内部存储了什么,它都会打印相同的值,包括它的长度是否为 0
。
关于java - 长度为 0 但仍包含 Info 的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18604003/