1

以下に、私が取り組んでいるいくつかのコードを貼り付けました。Mixer からターゲット ラインを取得する必要がありますが、Line.Info[] 配列を使用してターゲット ラインを要求する方法がわかりません。長さは 0 ですが、文字列として出力すると、1 行の情報が保持されます。キャストしたいのですが、うまくキャストする方法がわかりません。

ありがとう、帽子

 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

文字列として出力するということは、Java のオブジェクトであるのtoString()メソッドを呼び出しているということです。arrayこれにより、配列のメモリ アドレスとクラス名が出力されます。配列オブジェクトのデフォルトの toString() 印刷は、配列内の要素とは何の関係もありません。長さがあるかどうかを含め、内部に格納されているものに関係なく、同じ値を出力します0

于 2013-09-04T01:26:56.230 に答える