[英]Java: error: cannot find symbol javax.sound.sampled.DataLine.Info
[英]what (clip) and DataLine.Info represents…?
我從一位朋友那里得到了這段代碼。
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 ");
}
}
}
但是我不明白這行的意思是Cilp c =(Clip)AudioSystem.getLine(di); (剪輯)代表什么...? 我的第二個問題是DataLine是什么接口,這條語句DataLine.Info ....的含義是什么?
DataLine是一個包含嵌套類“ Info”的接口。 這里的聲明:
DataLine.Info di = ...
創建在類DataLine中定義的Info類的新實例。
語句(剪輯)就是我們所說的演員表。 它用於將一個對象從一種類型轉換為另一種類型。 方法AudioSystem.getLine(di)返回Line類型的對象。 因此,基本上,您的朋友將返回的對象轉換為Clip,用於實例化對象c。 這是允許的,不會產生錯誤,因為c是Clip類型,它擴展了DataLine,而DataLine本身擴展了Line。
希望這可以幫助 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.