java使用JMF實(shí)現(xiàn)音樂(lè)播放功能
JMF實(shí)際上是Java的一個(gè)類(lèi)包。JMF 2.1.1技術(shù)提供了先進(jìn)的媒體處理能力,從而擴(kuò)展了Java平臺(tái)的功能。這些功能包括:媒體捕獲、壓縮、流轉(zhuǎn)、回放,以及對(duì)各種主要媒體形式和編碼的支 持,如M-JPEG、H.263、MP3、RTP/RTSP (實(shí)時(shí)傳送協(xié)議和實(shí)時(shí)流轉(zhuǎn)協(xié)議)、Macromedias Flash、IBM的HotMedia和Beatniks的Rich Media Format (RMF)等。JMF 2.1.1還支持廣受歡迎的媒體類(lèi)型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1軟件中包括了一個(gè)開(kāi)放的媒體架構(gòu),可使開(kāi)發(fā)人員靈活采用各種媒體回放、捕獲組件,或采用他們自己的定制的內(nèi)插組件。
Sun以四種不同的專(zhuān)用版本提供JMF 2.1.1技術(shù),滿(mǎn)足專(zhuān)業(yè)開(kāi)發(fā)人員的各類(lèi)需求,第一個(gè)是一個(gè)輕便型版本,它完全采用Java語(yǔ)言編寫(xiě),適用于任何Java兼容系統(tǒng)。此外,開(kāi)發(fā)人員還可選 擇分別適用于Solaris、Windows或Linux等操作系統(tǒng)的性能最優(yōu)化軟件包,以提高性能和能力。
JMF 2.1.1軟件也是Java Media系列軟件的一部分。Java Media系列軟件包括Java 3D、Java 2D、Java Sound和Java Advanced Imaging等API。采用各種Java Media API,軟件開(kāi)發(fā)商人員就能容易、快速地為他們已有的各種應(yīng)用程序和客戶(hù)端Java小程序增添豐富的媒體功能,如流式視頻、3D圖像和影像處理等。就是 說(shuō),各種Java Media API發(fā)揮了Java平臺(tái)的固有優(yōu)勢(shì),將"編寫(xiě)一次,到處運(yùn)行"的能力擴(kuò)展到了圖像、影像和數(shù)字媒體等各種應(yīng)用領(lǐng)域,從而大大縮減了開(kāi)發(fā)時(shí)間和降低了開(kāi)發(fā) 成本。
首先下載JMF,去Oracle官網(wǎng)找到就行,現(xiàn)在最高級(jí)版本為2.1.1e,下載下來(lái)安裝,然后把他的三個(gè)包 jmf.jar,sound.jar和mdeiaplayer.jar拿出來(lái),下面開(kāi)始寫(xiě)代碼
package com.bird.jmf;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import javax.media.Manager;
import javax.media.Player;
@SuppressWarnings("restriction")
public class SimpleAudioPlayer {
private Player audioPlayer = null;//建立一個(gè)播放接口
public SimpleAudioPlayer(URL url) throws Exception{//創(chuàng)建一個(gè)準(zhǔn)備Player,準(zhǔn)備好播放
audioPlayer = Manager.createRealizedPlayer(url);
}
@SuppressWarnings("deprecation")
public SimpleAudioPlayer(File file) throws MalformedURLException, Exception{//將本地文件改為URL
this(file.toURL());
}
public void play(){//直接調(diào)用播放方法就可以
audioPlayer.start();
}
public void stop(){//停止的時(shí)候一定要釋放資源
audioPlayer.stop();
audioPlayer.close();
}
public static void main(String [] args) throws MalformedURLException, Exception{
File file = new File("d://1.mp3");
SimpleAudioPlayer Player = new SimpleAudioPlayer(file);
Player.play();
}
}
這就是最簡(jiǎn)單的音樂(lè)播放,沒(méi)有圖形界面,但是播放音樂(lè)還是沒(méi)問(wèn)題的,很好玩,可以嘗試一下
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot實(shí)現(xiàn)圖片上傳/加水印一把梭操作實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于Spring Boot實(shí)現(xiàn)圖片上傳/加水印一把梭操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
十大常見(jiàn)Java String問(wèn)題_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文介紹Java中關(guān)于String最常見(jiàn)的10個(gè)問(wèn)題,需要的朋友參考下吧2017-04-04
mybatis的insert插入后獲取自增id的方法詳解(從controller到mapper)
這篇文章主要介紹了mybatis的insert插入后獲取自增id的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10
Java GZip 基于磁盤(pán)實(shí)現(xiàn)壓縮和解壓的方法
這篇文章主要介紹了Java GZip 基于磁盤(pán)實(shí)現(xiàn)壓縮和解壓,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考需要的朋友可以參考下2020-08-08
Java中Color和16進(jìn)制字符串互相轉(zhuǎn)換的方法
這篇文章主要給大家介紹了關(guān)于Java中Color和16進(jìn)制字符串互相轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
細(xì)數(shù)java中Long與Integer比較容易犯的錯(cuò)誤總結(jié)
下面小編就為大家?guī)?lái)一篇細(xì)數(shù)java中Long與Integer比較容易犯的錯(cuò)誤總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
Spring攔截器實(shí)現(xiàn)鑒權(quán)的示例代碼
本文主要介紹了Spring攔截器實(shí)現(xiàn)鑒權(quán)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
基于SpringBoot實(shí)現(xiàn)大文件分塊上傳功能
這篇文章主要介紹了基于SpringBoot實(shí)現(xiàn)大文件分塊上傳功能,實(shí)現(xiàn)原理其實(shí)很簡(jiǎn)單,核心就是客戶(hù)端把大文件按照一定規(guī)則進(jìn)行拆分,比如20MB為一個(gè)小塊,分解成一個(gè)一個(gè)的文件塊,然后把這些文件塊單獨(dú)上傳到服務(wù)端,需要的朋友可以參考下2024-09-09
Spring Cloud 如何保證微服務(wù)內(nèi)安全
這篇文章主要介紹了Spring Cloud 如何保證微服務(wù)內(nèi)安全的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07

