簡體   English   中英

(剪輯)和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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM