免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
java swing 播放聲音

一 在Applet中播放聲音

 

播放聲音是java對(duì)多媒體的支持一個(gè)重要部分.

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

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

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

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

我們就以一個(gè)例子來結(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 }

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

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

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

上面的sloop.au即我機(jī)器上的聲音文件。

我們?cè)诖酥苯邮褂昧薃udioClip的play方法來播放聲音。

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

 

二 java應(yīng)用程序中的聲音播放

 

由于在應(yīng)用程序并不支持AudioClip類。

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

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

不是的,

sun公司為應(yīng)用程序中的聲音支持另提供了一個(gè)java新包。

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

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

如java2D,Tools等,

大家可自己嘗試去使用。

下面我們就來做個(gè)自己的聲音播放測(cè)試

 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 }

 

注:上面兩例都沒有提供相應(yīng)的stop方法,

本文章指在方法的嘗試,

并非全面文章,

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

 

三 javaX中Sound包的應(yīng)用

 

當(dāng)我在進(jìn)行上面的測(cè)試過程中,

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

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

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

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

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

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

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

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

首先讓我們復(fù)習(xí)一下在Applet中放音樂的四個(gè)步驟,

代碼如下:

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

大家可能認(rèn)為此代碼在Application 中也能使用,

但不幸的是它在編譯時(shí)就會(huì)發(fā)生錯(cuò)誤。

因?yàn)锳udioClip 對(duì)象(object)和getAudioClip() 方法(method)都是屬 于java.applet 包的-- 它在Application 中無法調(diào)用。

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

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

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

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

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

 

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

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

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

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

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

完 成 了 ! 因?yàn)橐陨铣绦蚴褂昧宋垂_的特性,所以不能保證它能在除了當(dāng)前版本的Sun JDK以外的編譯器上運(yùn)行。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
第4章 Java對(duì)多媒體的支持
Java 與 JavaScript 有什么不同 (轉(zhuǎn))
網(wǎng)頁(yè)特效
用Java實(shí)現(xiàn)FTP批量大文件上傳下載(五)
我需要在我的系統(tǒng)中安裝多個(gè)版本的 JRE 嗎?我可以刪除舊版本的 JRE 嗎?
Java游戲編程初步
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服