Java (剪辑)和DataLine.Info代表什么。。。?

Java (剪辑)和DataLine.Info代表什么。。。?,java,audio,Java,Audio,我从我的一个朋友那里得到了这个密码 import java.io.*; import javax.sound.sampled.*; public class xx { public static void main(String args[]) { try { File f=new File("mm.wav"); AudioInputStream a=AudioSystem.getAudioInput

我从我的一个朋友那里得到了这个密码

import java.io.*;
import javax.sound.sampled.*;
public class xx
{
    public static void main(String args[])
    {
        try
        {
            File f=new File("mm.wav");
            AudioInputStream a=AudioSystem.getAudioInputStream(f);
            AudioFormat au=a.getFormat();
            DataLine.Info di=new DataLine.Info(Clip.class,au);
            Clip c=(Clip)AudioSystem.getLine(di);
            c.open(a);
            c.start();
        }
        catch(Exception e)
        {
            System.out.println("Exception caught ");
        }
    }
}
但我不明白这行是什么意思,cilpc=(Clip)AudioSystem.getLine(di); (剪辑)代表什么。。。。?
我的第二个问题是什么是数据线,它是一个接口,这个语句DataLine.Info的含义是什么

数据线是一个包含嵌套类“Info”的接口。声明如下:

DataLine.Info di = ...
创建类数据行中定义的类信息的新实例

这个声明(剪辑)就是我们所说的演员阵容。它用于将对象从一种类型转换为另一种类型。 方法AudioSystem.getLine(di)返回Line类型的对象。基本上,您的朋友将返回的对象转换为一个片段,用于实例化对象c。 它是允许的,并且不会生成错误,因为c是Clip类型,它扩展了DataLine,而DataLine本身扩展了Line


希望这有帮助

谢谢你的帮助…还有一个帮助,你能告诉我Clip.class.Clip.class作为类信息构造函数的第一个参数在上面的示例中的含义吗。它用于确定info对象(源代码:javadoc)所描述的数据行的类(或类型,如果您愿意)。Clip.class实际上就是类本身。嘿,thanx…你能知道如何使用javax.sound.sampled…控制音量吗?请在这里回复。。。。