java使用JMF實(shí)現(xiàn)音樂播放功能
JMF實(shí)際上是Java的一個(gè)類包。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還支持廣受歡迎的媒體類型,如Quicktime、Microsofts AVI和MPEG-1等。此外,JMF 2.1.1軟件中包括了一個(gè)開放的媒體架構(gòu),可使開發(fā)人員靈活采用各種媒體回放、捕獲組件,或采用他們自己的定制的內(nèi)插組件。
Sun以四種不同的專用版本提供JMF 2.1.1技術(shù),滿足專業(yè)開發(fā)人員的各類需求,第一個(gè)是一個(gè)輕便型版本,它完全采用Java語言編寫,適用于任何Java兼容系統(tǒng)。此外,開發(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,軟件開發(fā)商人員就能容易、快速地為他們已有的各種應(yīng)用程序和客戶端Java小程序增添豐富的媒體功能,如流式視頻、3D圖像和影像處理等。就是 說,各種Java Media API發(fā)揮了Java平臺(tái)的固有優(yōu)勢(shì),將"編寫一次,到處運(yùn)行"的能力擴(kuò)展到了圖像、影像和數(shù)字媒體等各種應(yīng)用領(lǐng)域,從而大大縮減了開發(fā)時(shí)間和降低了開發(fā) 成本。
首先下載JMF,去Oracle官網(wǎng)找到就行,現(xiàn)在最高級(jí)版本為2.1.1e,下載下來安裝,然后把他的三個(gè)包 jmf.jar,sound.jar和mdeiaplayer.jar拿出來,下面開始寫代碼
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)單的音樂播放,沒有圖形界面,但是播放音樂還是沒問題的,很好玩,可以嘗試一下
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot可視化接口開發(fā)工具magic-api的簡(jiǎn)單使用教程
作為Java后端開發(fā),平時(shí)開發(fā)API接口的時(shí)候經(jīng)常需要定義Controller、Service、Dao、Mapper、XML、VO等Java對(duì)象。有沒有什么辦法可以讓我們不寫這些代碼,直接操作數(shù)據(jù)庫生成API接口呢?今天給大家推薦一款工具magic-api,來幫我們實(shí)現(xiàn)這個(gè)小目標(biāo)!2021-06-06Java中String的split切割字符串方法實(shí)例及擴(kuò)展
最近在項(xiàng)目中遇到一個(gè)小問題,一個(gè)字符串分割成一個(gè)數(shù)組,下面這篇文章主要給大家介紹了關(guān)于Java中String的split切割字符串方法的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06詳解自動(dòng)注冊(cè)Gateway網(wǎng)關(guān)路由配置
這篇文章主要為大家介紹了自動(dòng)注冊(cè)Gateway網(wǎng)關(guān)路由配置的方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Java常用面板之JScrollPane滾動(dòng)面板實(shí)例詳解
這篇文章主要介紹了Java常用面板JScrollPane的簡(jiǎn)單介紹和一個(gè)相關(guān)實(shí)例,,需要的朋友可以參考下。2017-08-08Java語言面向?qū)ο缶幊趟枷胫惻c對(duì)象實(shí)例詳解
這篇文章主要介紹了Java語言面向?qū)ο缶幊趟枷胫惻c對(duì)象實(shí)例詳解,還是十分不錯(cuò)的,這里給大家分享下,需要的朋友可以參考。2017-10-10