1

下面我粘贴了一些我一直在处理的代码。我需要从混音器中获取目标线,但我不知道如何使用 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 
         * 
         */                
    }
}
4

1 回答 1

1

当您将它作为字符串输出时,您的意思是您正在调用 的toString()方法array,它是 Java 中的一个对象。这将打印出数组的内存地址和类名。数组对象的默认 toString() 打印与数组中的元素无关。不管里面存储了什么,包括它是否有0长度,它都会打印相同的值。

于 2013-09-04T01:26:56.230 回答