国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

網(wǎng)絡(luò)電臺(tái)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2016-06-14 23:47:23林大華
電腦知識(shí)與技術(shù) 2016年12期
關(guān)鍵詞:音頻

林大華

摘要:針對(duì)當(dāng)前網(wǎng)絡(luò)電臺(tái)發(fā)展需要,該首先描述了網(wǎng)絡(luò)電臺(tái)的相關(guān)定義,其次在JAVA多媒體技術(shù)的基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于JMF的網(wǎng)絡(luò)電臺(tái)軟件,可以實(shí)現(xiàn)音頻的實(shí)時(shí)通信傳播。

關(guān)鍵詞:java媒體框架;音頻;實(shí)時(shí)傳輸協(xié)議

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)12-0082-02

如今的高速的網(wǎng)絡(luò)信息時(shí)代,高速便捷的社會(huì)里,網(wǎng)絡(luò)逐漸成為人類工作、學(xué)習(xí)、生活的必需物。網(wǎng)絡(luò)電臺(tái)的出現(xiàn)也成為了必然,網(wǎng)絡(luò)電臺(tái)代替?zhèn)鹘y(tǒng)的電臺(tái)是一個(gè)時(shí)代進(jìn)步的必然進(jìn)程。網(wǎng)絡(luò)電臺(tái)是隨著網(wǎng)絡(luò)的發(fā)展,如今的網(wǎng)絡(luò)技術(shù)給網(wǎng)絡(luò)電臺(tái)的出現(xiàn)提供了成熟的環(huán)境。網(wǎng)絡(luò)電臺(tái)的含義就是在網(wǎng)絡(luò)上搭建的電臺(tái)。網(wǎng)絡(luò)電臺(tái)就是把以前的電臺(tái)搬到了互聯(lián)網(wǎng)上,沒有發(fā)射塔,有的只是快捷便利的網(wǎng)絡(luò),在這里沒有麻煩的編錄設(shè)備,可以享受到電腦的方便;只要使用電腦,隨意一敲,就可以收聽到電臺(tái)的美妙。當(dāng)前網(wǎng)絡(luò)電臺(tái)分為聯(lián)播電臺(tái)、商業(yè)電臺(tái)、個(gè)人電臺(tái)等等。與傳統(tǒng)電臺(tái)比較,網(wǎng)絡(luò)電臺(tái)的優(yōu)勢(shì),一是迅捷性、無限性。二是交互性和個(gè)性化。在如今互聯(lián)網(wǎng)上雖然已經(jīng)擁有很多的用戶,但是依然有著很大的潛力,可以挖掘更多的客戶,這就為網(wǎng)絡(luò)電臺(tái)的出現(xiàn)和發(fā)展做了很好的鋪墊。據(jù)調(diào)查,網(wǎng)絡(luò)電臺(tái)都是中學(xué)生與大學(xué)生用戶為主,這些年輕受眾為網(wǎng)絡(luò)電臺(tái)的經(jīng)營(yíng)提供了生存空間與可能。網(wǎng)絡(luò)電臺(tái)的作用更加大了,不僅局限在娛樂,更加的在現(xiàn)場(chǎng)監(jiān)控及數(shù)據(jù)采集系統(tǒng)SCADA、分布式自動(dòng)控制系統(tǒng)、小區(qū)智能安防系統(tǒng)、車船調(diào)度等上面都開始廣泛的運(yùn)用。

本文所采用的方案是基于JAVA媒體框架,采用RTP/RTCP協(xié)議,在發(fā)送端和接收端之間進(jìn)行一對(duì)一傳輸?shù)木W(wǎng)絡(luò)電臺(tái)系統(tǒng)。優(yōu)點(diǎn)是確保媒體流在網(wǎng)絡(luò)中低時(shí)延、高質(zhì)量地傳輸。

1 相關(guān)技術(shù)介紹

1.1 流媒體技術(shù)

流媒體技術(shù)也被叫為流式媒體技術(shù).它的原理就是把壓縮后的影像和聲音信息放上網(wǎng)站服務(wù)器,讓用戶不用全部下載完成才能觀看收聽,而是邊下載邊觀看、收聽的網(wǎng)絡(luò)傳輸技術(shù)。流媒體技術(shù)的原理是這樣的:服務(wù)器在向用戶傳輸多媒體文件時(shí),不是一次將文件整體發(fā)送出去,而是按播放的時(shí)間順序?qū)⑵浞譃樾〉钠瑪啵愃朴趫D像中的幀,然后將這些片斷依次傳給用戶。用戶的網(wǎng)絡(luò)播放工具接收到這些片斷后,連續(xù)播放,就可以產(chǎn)生完整的聲音和圖像,只是開始時(shí)有些延遲。網(wǎng)上直播時(shí)多媒體文件的產(chǎn)生也是不斷生成新的片斷。而且流媒體的聲音、圖像不會(huì)占用你的硬盤空間,流進(jìn)你的機(jī)器后會(huì)繼續(xù)流出你的機(jī)器,消失掉。為了保證聲音、圖像的播放效果,服務(wù)器與用戶計(jì)算機(jī)間的網(wǎng)絡(luò)傳輸速度有一定的要求。如果網(wǎng)絡(luò)傳輸速度較慢,播放時(shí)就會(huì)出現(xiàn)斷斷續(xù)續(xù)的現(xiàn)象。很多網(wǎng)站可以根據(jù)用戶的實(shí)際帶寬,向用戶提供不同清晰度的播放效果。一般來說,播放聲音需要4kb/s以上的傳輸速度,圖像需要每秒幾十千比特到每秒幾百千比特。

1.2 JMF

JMF是JAVA的擴(kuò)展框架,允許用戶制作純音頻流和視頻流。Java媒體框架JMF(Java Media Framework)是一個(gè)把音頻、視頻和其他基于時(shí)間的媒體結(jié)合到Java程序和Applet中的應(yīng)用程序接口。它讓Java程序具有捕捉音頻和視頻信號(hào),存儲(chǔ)、播放并處理多媒體數(shù)據(jù)等功能,除此之外還能傳輸多媒體數(shù)據(jù)和編譯多媒體數(shù)據(jù)格式。JMF包括了和RTP APIJMF API。前者主要是在網(wǎng)絡(luò)上傳輸和接收媒體流,后者具有捕捉、處理、存儲(chǔ)和播放媒體等功能。

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 系統(tǒng)設(shè)計(jì)

本軟件分為發(fā)送端與接收端兩部分,下面分別介紹發(fā)送端與接收端的功能模塊。

發(fā)送端功能模塊:

1)音頻采集和傳輸模塊;

接收端功能模塊:

1)音頻接收和播放模塊;

2)總的功能模塊圖見圖1。

2.1.1 音頻采集和傳輸模塊的功能介紹

此模塊的功能主要實(shí)現(xiàn)從麥克風(fēng)中采集音頻,然后進(jìn)行音頻的編碼,之后利用RTP協(xié)議在Internet網(wǎng)絡(luò)中實(shí)時(shí)傳輸音頻數(shù)據(jù)流。此模塊當(dāng)中需要設(shè)置接收端的IP地址和端口號(hào)。當(dāng)發(fā)送端啟動(dòng)后,按照設(shè)置的IP地址和端口號(hào)來構(gòu)造目的會(huì)話地址進(jìn)行傳輸。

2.1.2 音頻接收和播放模塊的功能介紹

此模塊的功能主要是利用RTP協(xié)議實(shí)時(shí)接收來自發(fā)送端的媒體數(shù)據(jù)流,并為每一種新接收到的媒體數(shù)據(jù)流產(chǎn)生一個(gè)播放器,一邊接收媒體數(shù)據(jù),一邊將媒體數(shù)據(jù)播放出來。此模塊當(dāng)中需要輸入發(fā)送端的IP地址和端口號(hào),由此可以跟發(fā)送端建立連接。

2.2 系統(tǒng)實(shí)現(xiàn)

2.2.1 音頻采集和傳輸模塊的實(shí)現(xiàn)

該模塊中主要包括2大類。一個(gè)是AudioTransmit類用于音頻數(shù)據(jù)流網(wǎng)絡(luò)實(shí)時(shí)傳輸?shù)摹A硪粋€(gè)類是AudioCapture是人機(jī)交互的用戶界面類,該類中包含了main()方法,即它也是該模塊的啟動(dòng)類。

2.2.1.1 AudioCapture類

包含以下幾個(gè)成員函數(shù):

1)jbInit(),用來設(shè)置界面和添加事件的監(jiān)聽。

2)buttonCaptureTransmit_actionPerformed(),用來響應(yīng)開始音頻采集和傳輸按鈕消息。

3)buttonStop_actionPerformed(),用來響應(yīng)停止按鈕消息。

4)this_windowClosing(),用來響應(yīng)窗口中的關(guān)閉按鈕消息。

2.2.1.2 RTPTransmit類

包含以下幾個(gè)主要成員函數(shù):

1)start(),用來啟動(dòng)RTP數(shù)據(jù)流傳輸。

2)createProcessor(),用來指定的媒體定位器產(chǎn)生一個(gè)處理器。

3)createTransmitter(),為處理器的每一個(gè)媒體磁道產(chǎn)生一個(gè)RTP會(huì)話。

4)stop(),用來停止RTP數(shù)據(jù)流傳輸。

5)waitForState(),等待處理器達(dá)到相應(yīng)的狀態(tài)。

2.2.2 音頻接收和播放模塊的實(shí)現(xiàn)

使用RTP協(xié)議實(shí)現(xiàn)媒體數(shù)據(jù)流接收和播放的類為RTPReceive。

1)ReceiveStreamListener在實(shí)現(xiàn)監(jiān)聽接口好,NewReceiveStreamEvent事件被監(jiān)聽;

2)NewReceiveStreamEvent在接收到這個(gè),為了獲取RTP數(shù)據(jù)源(DataSource)可以經(jīng)過事件獲取接收媒體數(shù)據(jù)流(Receivestream),然后接收媒體數(shù)據(jù)流。

3)給Manager.createPlayer()傳遞數(shù)據(jù)源產(chǎn)生一個(gè)播放器。

4)播放器添加了監(jiān)聽器,實(shí)現(xiàn)了播放器后,播放數(shù)據(jù)就可以顯示了。

RTP會(huì)話是在RTPManager管理器來通過管理的,RTP會(huì)話和表現(xiàn)媒體數(shù)據(jù)接收后,RTPReceive類需要實(shí)現(xiàn)SessionListener、ReceiveStreamListener和ControllerListener監(jiān)聽接口。

在本模塊中,還定義三個(gè)內(nèi)部使用的類:SessionLable類用來解析用戶輸入的用于RTP會(huì)話的目的端(發(fā)送端)的IP地址和端口號(hào)、PlayWindow類用來實(shí)現(xiàn)完成播放器窗口的功能、PlayerPanel類用來為播放器在PlayerWindow窗口中添加視頻組件和控制組件。

2.2.3 基于JMF的網(wǎng)絡(luò)電臺(tái)軟件的功能測(cè)試

打開命令提示符窗口,用cd命令進(jìn)入代碼文件所在目錄,輸入javac *.java來編譯test目錄下的所有java文件(代碼文件),然后輸入java audiovideotransmit命令來啟動(dòng)軟件,軟件啟動(dòng)后,首先要設(shè)置接收端的IP地址、端口號(hào)這兩個(gè)參數(shù),點(diǎn)擊開始音頻采集和傳輸按鈕后,就會(huì)接收到音頻數(shù)據(jù)流并開始播放的界面,如圖2所示。

2 結(jié)束語

雖然系統(tǒng)具備了一些優(yōu)點(diǎn)和值得肯定的方面。但由于時(shí)間及水平有限,目前實(shí)現(xiàn)的網(wǎng)絡(luò)電臺(tái)軟件還是比較粗糙的,還有很多方面可以有待提高:

1)實(shí)現(xiàn)接收端的界面化,這樣操作更加簡(jiǎn)便。

2)增加文字圖像功能,豐富電臺(tái)形式。

3)發(fā)送方播放文件,接收方將接受到的音頻錄制成文件。

4)實(shí)現(xiàn)一對(duì)多的播放模式。

參考文獻(xiàn):

[1] 阮高峰, 吳培英, 阮招娣. 交流面對(duì)面: 走進(jìn)視頻通訊新天地[J]. 電腦知識(shí)與技術(shù), 2004,10(13).

[2] 陳杰. 新興的網(wǎng)絡(luò)視頻[J]. 江蘇通信技術(shù), 2003, 19(4).

[3] 李鵬偉. 局域網(wǎng)內(nèi)點(diǎn)對(duì)點(diǎn)通信的Java實(shí)現(xiàn)[J]. 安陽師范學(xué)院學(xué)報(bào), 2006, 23(2).

[4] 毛學(xué)英. 電臺(tái)廣播發(fā)射機(jī)微控制器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 數(shù)字技術(shù)與應(yīng)用, 2016.1.

[5] 劉立山. 高清非編制作網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)及應(yīng)用實(shí)踐[J]. 世界廣播電視, 2010(7).

[6] 張佳. 廣播電臺(tái)音頻傳輸與監(jiān)控系統(tǒng)的設(shè)計(jì)和應(yīng)用[J]. 電聲技術(shù), 2013(2).

[7] 徐智娟. 廣播電視臺(tái)節(jié)目制作網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)與應(yīng)用[J]. 電子技術(shù)與軟件工程, 2015(14).

[8] 康緣. 共享廣播信道的多頻點(diǎn)小區(qū)組網(wǎng)設(shè)計(jì)[J]. 通訊世界:下半月, 2015(8).

[9] 劉金國(guó). 廣播電視臺(tái)直播間的設(shè)計(jì)和建設(shè)[J]. 遼寧廣播電視技術(shù), 2013(1).

[10] 景長(zhǎng)軍. 廣播電視后期制作設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)踐[J]. 有線電視技術(shù), 2005(24).

[11] 魏三強(qiáng), 朱軍. 基于數(shù)字IP網(wǎng)絡(luò)的智能小區(qū)廣播系統(tǒng)設(shè)計(jì)[J]. 蘇州科技學(xué)院學(xué)報(bào): 自然科學(xué)版, 2012(4).

猜你喜歡
音頻
開盤錄音帶音頻資料的數(shù)字化
電子制作(2019年15期)2019-08-27 01:12:14
必須了解的音頻基礎(chǔ)知識(shí) 家庭影院入門攻略:音頻認(rèn)證與推薦標(biāo)準(zhǔn)篇
基于Daubechies(dbN)的飛行器音頻特征提取
電子制作(2018年19期)2018-11-14 02:37:08
把數(shù)字變成真實(shí)的聲音 暢談音頻解碼器
補(bǔ)足音響系統(tǒng)中的關(guān)鍵一環(huán) 不可忽視的模擬音頻線材(上)
超音頻復(fù)合脈沖GMAW電源設(shè)計(jì)
音頻分析儀中低失真音頻信號(hào)的發(fā)生方法
電子制作(2017年9期)2017-04-17 03:00:46
加入Technics音頻技術(shù) Panasonic TH-77EZ1000 OLED電視
臺(tái)內(nèi)音頻響度控制方式
音頻處理器的調(diào)試
庆阳市| 东平县| 马边| 手机| 门源| 微山县| 南开区| 宁阳县| 普格县| 综艺| 建德市| 连州市| 星座| 舒城县| 华蓥市| 建始县| 桐乡市| 图们市| 明光市| 屏南县| 新巴尔虎左旗| 靖安县| 凤阳县| 河北省| 越西县| 桐城市| 大荔县| 北安市| 乐都县| 阿拉善左旗| 德阳市| 丰镇市| 堆龙德庆县| 通山县| 定边县| 太原市| 昆山市| 建平县| 沙河市| 历史| 翁源县|