乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      java swing 播放聲音

       昵稱15242507 2014-09-29

      一 在Applet中播放聲音

       

      播放聲音是java對多媒體的支持一個重要部分.

      現(xiàn)今流行的聲音格式有wav,mid,au為擴展名的聲音文件。

      而java現(xiàn)主要支持以au為名的聲音。

      在Applet中專門提供了類AudioClip來對聲音的支持。

      由于Applet的多媒體功能書上都有很清晰的介紹也很簡單。

      我們就以一個例子來結(jié)束這部分的說明。

      復制代碼
       1 import java.applet.*;
       2 public class sounda extends Applet
       3 {
       4 public static void main (String[] args)
       5 {
       6 AudioClip ac = getAudioClip(getCodeBase(), "sloop.au");
       7 ac.play();
       8 // ac.loop();
       9 // ac.stop();
      10 }
      11 }
      復制代碼

      上面例子只是很簡單的說明,AudioClip是java中播放類。

      java中提供了兩個很有用的方法getCodeBase(),

      getDocumentBase()他們分別返回Applet本身和包含此Applet主頁的URL地址.

      上面的sloop.au即我機器上的聲音文件。

      我們在此直接使用了AudioClip的play方法來播放聲音。

      大家可測試用Applet的圖像功能加入按鈕。

       

      二 java應用程序中的聲音播放

       

      由于在應用程序并不支持AudioClip類。

      所以播放聲音文件成了一大難題。

      制做自己的java播放器或應用媒體方面的java應用程序我們就不能支持聲音了嗎?

      不是的,

      sun公司為應用程序中的聲音支持另提供了一個java新包。

      sun.audio在這個包下面提供了大部分所需要的聲音處理類。

      注:sun包下面還有很多很有意思的技術(shù)支持,

      如java2D,Tools等,

      大家可自己嘗試去使用。

      下面我們就來做個自己的聲音播放測試

      復制代碼
       1 import sun.audio.*;
       2 import java.io.*;
       3 public class Sound 
       4 {
       5 public static voie main(String args[])
       6 {
       7 try {
       8 FileInputStream fileau=new  FileInputStream("sloop.au");
       9 AudioStream as=new AudioStream(fileau);
      10 AudioPlayer.player.start(as);
      11 }
      12 catch (Exception e) {}
      13 }
      14 }
      復制代碼

       

      注:上面兩例都沒有提供相應的stop方法,

      本文章指在方法的嘗試,

      并非全面文章,

      但上面的例子都是可用的。

       

      三 javaX中Sound包的應用

       

      當我在進行上面的測試過程中,

      我發(fā)現(xiàn)javaX目錄下也提供了一個sound包對java聲音的強大支持,

      并且在sun網(wǎng)站的jjse上可下載到相關(guān)的大量例子程序.

      有志于聲音處理方向的朋友可下載試試,

      現(xiàn)在關(guān)于如何 在Java 小程序(Applet)中播放音樂以供人邊瀏覽頁面邊欣賞的介紹已經(jīng)很多了,

      但對如何在應用程序(Application)中放音樂的介紹還很少,

      下面我就逐步地講解一下如何實現(xiàn)。

      Jun 當 前 的Java Development Kit 版本1.1.3 并不正式支持在Application 中放音樂文件,

      但這依然是可以實現(xiàn)的。

      首先讓我們復習一下在Applet中放音樂的四個步驟,

      代碼如下:

      import java.applet.*;
      AudioClip ac=getAudioClip (getCodeBase(), File); // 創(chuàng) 建Audioclip 對 象 并 裝 入.au 文 件
      ac.play(); // 播 放 一 次
      ac.stop(); // 停 止 播 放 
      ac.loop(); // 循 環(huán) 播 放

      大家可能認為此代碼在Application 中也能使用,

      但不幸的是它在編譯時就會發(fā)生錯誤。

      因為AudioClip 對象(object)和getAudioClip() 方法(method)都是屬 于java.applet 包的-- 它在Application 中無法調(diào)用。

      解決問題的辦法使用一些Sun 在JDK中發(fā)布但未正式注明(undocumented)的特點。

      用Winzip 或Zip觀察一下class.zip文件就會發(fā)現(xiàn)除了java.applet 包中包含對聲音文件處理外,

      在/sun/audio目錄下的sun.audio包也提供類似的方法。

      下面是實現(xiàn)代碼和注釋:

      import sun.audio.*; // 引 入sun.audio 包
      import java.io.*;
      InputStream in = new FileInputStream (Filename); // 打 開 一 個 聲 音 文 件 流 作 為 輸 入
      AudioStream as = new AudioStream (in); // 用 輸 入 流 創(chuàng) 建 一 個AudioStream 對 象 
      AudioPlayer.player.start (as); //“player” 是AudioPlayer 中 一 靜 態(tài) 成 員 用 于 控 制 播 放 
      AudioPlayer.player.stop (as);

       

      當需從網(wǎng)上下載文件播放時,用以下代碼打開音樂文件網(wǎng)址:

      AudioStream as = new AudioStream (url.openStream());

      播放一個持續(xù)的聲音流就復雜一些了:

      首先如上創(chuàng)建聲音流;

      AudioData data = as.getData (); // 創(chuàng) 建AudioData 源 
      ContinuousAudioDataStream cas = new ContinuousAudioDataStream (data);
       AudioPlayer.player.play (cas); // 放 音
       AudioPlayer.player.stop (cas); // 停 止

      完 成 了 ! 因為以上程序使用了未公開的特性,所以不能保證它能在除了當前版本的Sun JDK以外的編譯器上運行。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多