<dfn id="a4kkq"></dfn>
<ul id="a4kkq"></ul>
    • 多媒體播放器大全11篇

      時間:2023-02-05 21:54:15

      緒論:寫作既是個人情感的抒發(fā),也是對學(xué)術(shù)真理的探索,歡迎閱讀由發(fā)表云整理的11篇多媒體播放器范文,希望它們能為您的寫作提供參考和啟發(fā)。

      篇(1)

      【關(guān)鍵詞】Android 播放器 多媒體 移動應(yīng)用

      隨著智能手機的普及,越來越多的人通過手機觀看視頻和欣賞音樂,這給人們的生活帶來很大的便捷。Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦。本文介紹的多媒體播放器就是基于Android進行開發(fā)的,主要模塊有:播放器界面、播放音樂、播放視頻以及多媒體文件管理。

      1 多媒體播放器界面設(shè)計

      多媒體播放器界面旨在為用戶提供可視的操作界面,需要在用戶界面設(shè)計中提供進度控制、開始、快退、快進、暫停等控件。效果如圖1所示。

      設(shè)置項目主題區(qū)域,利用LinearLayout和TextView兩種XML元素進行布局。媒體播放區(qū)域用于播放媒體文件,需要使用SurfaceView控件。SurfaceView控件以流的方式來顯示媒體文件。控制區(qū)主要由快退、暫停、開始和快進組成。設(shè)計要求:控制區(qū)域水平居中,相鄰控件要有一定的間隙,開始和暫停按鈕不能同時出現(xiàn)。進度區(qū)域要求顯示媒體文件總時長、已播放時長、進度,選擇LinearLayout、SeekBar和TextView等XML元素進行布局。

      2 播放音樂

      本模塊要求實現(xiàn)音樂文件的播放,在播放界面上顯示音樂的文件名、播放的時間、總的時間、音樂播放控制等。效果如圖2所示。

      MediaPlayer類用于管理媒體播放的操作,android多媒體框架支持播放不同位置存放的多媒體資源,如:本地資源、內(nèi)部URI和外部URL。MediaPlayer類的構(gòu)造函數(shù)比較簡單,只有一個無參的構(gòu)造函數(shù):MediaPlayer()。

      5 總結(jié)

      本文介紹了如何在Android平臺上設(shè)計多媒體播放器,本項目主要涉及的關(guān)鍵技術(shù)包括:播放控制條的控制、消息處理、聲音的播放、視頻圖像的顯示、多媒體文件的搜索等。

      參考文獻

      [1]許瑾.基于Android平臺音樂播放器的設(shè)計與實現(xiàn)[D].北京郵電大學(xué),2011.

      [2]李剛.基于Android平臺的智能手機流媒體播放器的研究及實現(xiàn)[D].南京郵電大學(xué),2012.

      [3]聶茹,黃誠燦.基于Android系統(tǒng)的音樂播放器設(shè)計與實現(xiàn)[J].微型電腦應(yīng)用,2013,10:23-26.

      [4]李江,曹家慶,陳文生.手機音樂播放器的設(shè)計與實現(xiàn)[J].信息通信,2013,09:128-129.

      [5]郝俊壽,丁艷會.基于Android系統(tǒng)的影音播放器研究與實現(xiàn)[J].硅谷,2013,22:20-21.

      [6]葉曉靜,黃俊偉.基于Android系統(tǒng)的多媒體播放器解決方案[J].現(xiàn)代電子技術(shù),2011,24:73-76.

      [7]單俊麗.基于Android的流媒體客戶端的研究與設(shè)計[D].西安電子科技大學(xué),2013.

      [8]趙金龍.基于Android平臺音頻播放系統(tǒng)設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2012.

      作者簡介

      鄭逸凡(1983-),男,現(xiàn)為福州外語外貿(mào)學(xué)院教師,福州大學(xué)數(shù)學(xué)與計算機科學(xué)學(xué)院研究生,主要從事Web編程和軟件開發(fā)。

      篇(2)

      一、引言

      隨著通信技術(shù)和計算機技術(shù)的迅猛發(fā)展,3G時代的到來,使得人們對手持設(shè)備的應(yīng)用有了更高的要求,人們已不滿足于簡單的通話,收發(fā)短信等基本功能,而更多的是要求有多媒體應(yīng)用,能利用手機進行上網(wǎng)沖浪,3D游戲,播放視頻等。

      二、系統(tǒng)的分析與設(shè)計

      1.目前存在的系統(tǒng)分析

      隨著通信技術(shù)和計算機技術(shù)的迅猛發(fā)展,使得人們對手持設(shè)備的應(yīng)用有了更高的要求,人們已不滿足于簡單的通話,收發(fā)短信等基本功能,而更多的是要求有多媒體應(yīng)用,能利用手機進行上網(wǎng)沖浪,3D游戲,播放視頻等。移動設(shè)備通過網(wǎng)絡(luò)觀看視頻將是不可避免的問題。而且目前的城市的網(wǎng)絡(luò)覆蓋率比較的好。

      在這種情況下,多媒體播放器在設(shè)計與實現(xiàn)在有一些問題:

      (1)由于多媒體手機在硬件性能上與PC機有著顯著的差異,所以在多媒體手機上播放的視頻短片的比特率要遠遠低于PC機上的,所以在設(shè)計多媒體手機時要受到多媒體手機硬件與操作系統(tǒng)的影響。

      (2)現(xiàn)在多媒體手機外接的存儲卡容量不是很高,當(dāng)你在旅行的過程中或者在移動的過程中,因為你的存儲卡的容量有限,所以你只能看少量的視音文件。

      (3)現(xiàn)在多媒體手機在播放視音頻文件的過程中,如果你看到自已喜歡的圖片,你就想要保存下來,作為永久的珍藏。

      (4)如何設(shè)計一項全新多媒體播放器,為將來的多媒體移動服務(wù)打下堅實的基礎(chǔ)。

      2.對目前系統(tǒng)的改進

      本項目是一個關(guān)于手機播放器的系統(tǒng),通過移動終端手機能夠?qū)崿F(xiàn)在任何時間,地點進行多媒體音頻與視頻的播放,本項目在空間上延伸了基于internet的網(wǎng)絡(luò)服務(wù),在時間上更具有靈活性。本系統(tǒng)只能播放視頻文件的格式為MPEG格式與音頻文件的格式為WAV格式,這是因為由底層的開發(fā)包所決定的。

      本項目具有以下幾個功能模塊:

      (1)首先視頻(主要是MPEG格式)的播放模塊,播放形式主要采用兩種形式:本地播放與網(wǎng)絡(luò)播放。本地播放也就是所謂的視頻文件在本地手機存儲器里,直接進行播放,網(wǎng)絡(luò)播放主要是視頻文件放在網(wǎng)絡(luò)服務(wù)器,手機進行調(diào)用播放。它在空間上延伸了internet網(wǎng)絡(luò)服務(wù),在時間上更具有靈活性。

      (2)其次實現(xiàn)音頻(主要是WAV格式)的播放模塊,播放形式主要采用兩種形式:本地播放與網(wǎng)絡(luò)播放。運行方式與視頻播放模塊相似。

      (3)再次抓圖模塊,在進行播放本地與網(wǎng)絡(luò)視頻時,當(dāng)你認為哪一個視頻的瞬間你很鼓歡,你就可以進行抓圖,把它抓下來。

      (4)最后是控制模塊,在進行播放音頻與視頻的同時,有一些基本的控制功能,比如:播放,停止,暫停,增加音量,減小音量等。

      1>以下是本地播放視頻或音頻文件流程圖

      以上圖的說明:這是一個本地播放視頻或音頻文件的流程圖,首先生成一個等待WaitCanvas的對象,之后生成一個等待界面,然后生成一個VideoCanvas對象,它主要是用來進行播放文件控制的,用VideoCanvas生成的對象來打開用戶在剛開始的界面上所輸入URL,URL里包括IP地址,端口號(8080)以及被訪問的文件名。如果打開成功都進行播放,如果失敗者結(jié)束程序。最終關(guān)閉MIDlet程序。

      2>以下是網(wǎng)格播放視頻或音頻文件流程圖

      以上圖的說明:這是一個網(wǎng)絡(luò)播放視頻或音頻文件的流程圖,首先生成一個等待WaitCanvas的對象,之后生成一個等待界面,然后生成一個VideoCanvas對象,它主要是用來進行播放文件控制的,用VideoCanvas生成的對象來打開用戶在剛開始的界面上所輸入URL,URL里包括IP地址,端口號(8080)以及被訪問的文件名。如果打開成功都進行播放,如果失敗者結(jié)束程序。最終關(guān)閉MIDlet程序。

      三、客戶端的實現(xiàn)

      手機客戶端MIDlet的設(shè)計是本課題研究的重點,是實現(xiàn)本地與無線播放器應(yīng)用的關(guān)鍵,客戶端MIDlet需要解決的關(guān)鍵問題有:MIDlet程序結(jié)構(gòu)流程控制,界面的開發(fā);準(zhǔn)確地提交用戶請求參數(shù)問題等。根據(jù)系統(tǒng)需求分析,本項目終端支持系統(tǒng)的客戶端主要面向的活動者是有具有多媒體手機的用戶。以多媒體手機的用戶所應(yīng)具有的功能進行介紹手機客戶端MIDlet開發(fā)的過程和主要解決的問題。

      1.客戶端流程設(shè)計

      主要的流程說明:首先啟動MIDlet,進行輸入所要訪問的服務(wù)器的IP和所要播放的文件的全稱,如果輸入錯誤,都重新輸入,如果輸入正確者,進行下面的一個操作,機器根據(jù)你所輸入的IP地址來判斷是本地播放,還是要進行網(wǎng)絡(luò)的播放,當(dāng)你如果輸入的是本地IP,那么手機只播放你在手機存儲介質(zhì)里面的視頻或音頻文件。如果你輸入的是網(wǎng)絡(luò)IP,那么手機會播放在服務(wù)器中的視頻或音頻文件。在進行播放視頻與音頻的過程中,可以對作對象進行一系列的操作,比如抓圖等。

      2.MIDLET主程序的設(shè)計

      一個MIDP應(yīng)用程序的基本執(zhí)行單元――MIDlet,所以ControlVideo繼承MIDlet了,并有以下幾個方法:startApp(),pauseApp(),destroyApp(),commandAction()還有一個線程PlayImage,這個程序它所要實現(xiàn)在的主要功能是,形成一個輸入的界面,在這個界面里面要實現(xiàn)讓用戶輸入URL,URL里面包含訪問計算機的IP,端口號及所要訪問的播放文件全稱。還有在界面上還形成幾個按鈕比如開始,退出這是由commandAction()來進行控制等,它還進行控制整個程序的運行,選形成一個等待的界面,然后根據(jù)用戶所輸入的信息進行打開URL,再進行播放文件的控制等等。

      3.播放控制的設(shè)計

      它主要是由VideoCanvas繼承Canvas,并有以下幾個方法:VideoCanvas(), initialize(), paint(), time2pix(),open()等方法。它主要實現(xiàn)的功能是:對播放的視頻或音頻文件進行一系列的操作比如播放,停止,暫停,增加音量,減小音量。

      4.播放文件判斷的設(shè)計

      在這里主要是設(shè)計一個單獨的類,名稱為VideoType,它主要先從用戶輸入的URL來分析出用戶輸入的信息,從中分離出輸入的IP地址,端口號以及文件的名稱,再進行判別用戶輸入的文件的類型。它里面有以下幾個方法:guessContentType(),splitURL()。

      5.網(wǎng)絡(luò)連接等待介面的設(shè)計

      這是一個所設(shè)計的一個等待界面,名稱WaitCanvas,它繼承了Canvas類,它主要的功能是:當(dāng)用戶輸入IP地址時,手機在連結(jié)服務(wù)器的時候,可能會有一個過程,所以這個時候出現(xiàn)一個等待界面。它里面有以下幾個方法:WaitCanvas(),void setMessage(),paint()。

      四、結(jié)束語

      本文研究的重心在于利用流媒體技術(shù)使手機播放器中本地與網(wǎng)絡(luò)(無線)終端MIDP應(yīng)用開發(fā)技術(shù)的解決方法及資源的網(wǎng)絡(luò)通信,信息整合問題。因此在論文中深入研究了J2ME體系結(jié)構(gòu)及其平臺下手機程序MIDP的開發(fā)技術(shù),詳細分析了本地終端與無線終端和資源的通信解決方法,并構(gòu)造了一個手機多媒體播放器系統(tǒng),通過該系統(tǒng),完整說明了MIDP應(yīng)用程序開發(fā)的流程控制,界面設(shè)置與流媒體和視頻壓縮技術(shù)。本系統(tǒng)還會不斷的改進,實現(xiàn)更廣,更新,更實際的功能,以適應(yīng)時代的需求。

      參考文獻:

      [1]吳一丁:J2ME技術(shù)在移動設(shè)備上的應(yīng)用.java研究組織,2005

      篇(3)

      中圖分類號:TN919-34; TP317;TP37 文獻標(biāo)識碼:A 文章編號:1004-373X(2011)24-0073-04

      Software Solutions of Multimedia Player Based on Android Operating System

      YE Xiao-jing, HUANG Jun-wei

      (College of Communication and Information Engineering, Chongqing University of Posts and Telecommunications, Chongqing 400065, China)

      Abstract: A multimedia player software solution based on Android operating system is introduced. The multimedia player is composed of splash screen, audio display module, video display module, etc. The graphical user interface (GUI) design, data storage, multimedia applications and other technical difficulties are analyzed emphatically. The function testing and verifyication carried out with Android V2.3 simulator and HTC A3380 show that the software solution can meet users′ needs and dependent demands for audio and video file playback. A summary and prospect for the further improvement of the software solution are given.

      Keywords: android; user interface; data storage; multimedia application

      收稿日期:2011-07-25

      基金項目:國家高科技發(fā)展規(guī)劃項目(2010ZX03002-005)

      0 引 言

      Android本義為“機器人”,是目前最流行的移動終端開發(fā)平臺,依靠Google的強大開發(fā)和媒體資源,Android成為眾多移動終端廠商競相追逐的對象。當(dāng)今全球信息時代,移動終端不再局限于通信業(yè)務(wù),多媒體業(yè)務(wù)的應(yīng)用才是終端廠商的發(fā)展方向。音視頻播放作為一項不可或缺的多媒體業(yè)務(wù),對于具有豐富的可編程擴展性的Android操作系統(tǒng),可以開發(fā)出個性化的音視頻播放應(yīng)用軟件。

      1 Android平臺

      1.1 Android系統(tǒng)架構(gòu)

      Android是Google于2007年11月5日宣布的基于Linux平臺開源手機操作系統(tǒng)名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成。從軟件分層的角度來看,Android平臺自上而下由應(yīng)用程序、應(yīng)用程序框架、Android運行時、庫及Linux內(nèi)核共5部分構(gòu)成[1]。

      1.2 Android應(yīng)用程序組件

      Android系統(tǒng)的基本組件包括Activity(活動)、Service(服務(wù))、BroadcastReceiver(廣播接收者)和ContentProvider(內(nèi)容提供者)等,此外還包括專門負責(zé)在基本組件之間傳遞消息的Intent(意向)組件[2-3]。

      2 軟件解決方案

      2.1 概述

      基于Android平臺的多媒體播放器軟件主要由3個模塊組成:啟動畫面模塊、音頻播放模塊、視頻播放模塊。該播放器具有播放列表預(yù)覽、前進、后退、暫停、繼續(xù)、進度拖曳和停止等功能[4]。

      2.2 用戶界面設(shè)計

      在Android應(yīng)用中,UI(用戶界面[5-6])是人與手機之間傳遞、交換信息的媒介和對話接口,是Android系統(tǒng)的重要組成部分。本文設(shè)計的多媒體播放器界面主要由主界面、音/視頻資源列表界面、音/視頻播放列表界面、音/視頻播放界面等組成。本文重點介紹前2種界面設(shè)計。

      2.2.1 主界面設(shè)計

      主界面采用標(biāo)簽布局,使用TabHost(標(biāo)簽頁視圖)并定義2個標(biāo)簽,分別是音頻播放列表標(biāo)簽頁和視頻播放列表標(biāo)簽頁。

      TabHost(標(biāo)簽頁視圖)必須配合TabActivity(標(biāo)簽Activity組件)使用。該播放器主界面的MainActivity繼承自TabActivity,初始化2個標(biāo)簽頁,并為每個標(biāo)簽分配不同的用戶Activity(活動),MusicActivity(音頻播放)和VedioActivity(視頻播放),通過調(diào)用指定的Intent來打開合適的Activity(活動)。

      2.2.2 資源列表界面設(shè)計

      資源列表界面采用ListView(列表視圖)作為核心視圖。以視頻資源列表為例,SD卡中的視頻資源列表如圖1所示。

      該列表的Activity組件(VideoLibrary)繼承自ListActivity。通過Android平臺為基礎(chǔ)數(shù)據(jù)類型(視頻信息)裝載ContentProvider(內(nèi)容提供器),來獲取位于SD卡設(shè)備目錄/data/data/com.android.providers.media/ databases里的視頻數(shù)據(jù)庫信息,并使用SimpleCurosrAdapter適配器作為列表適配器將視頻資源信息填充到列表視圖中。

      public class VideoLibrary extends ListActivity {

      //設(shè)置內(nèi)容視圖

      setContentView(R.layout.list_item_view);

      //從當(dāng)前上下文對象獲得內(nèi)容解析器

      resolver = getContentResolver();

      //查詢sd卡的視頻文件并返回結(jié)果集游標(biāo)

      Cursor c =resolver.query(MediaStore.Video

      .Media.EXTERNAL_CONTENT_URI,null,null,null,null);

      //初始化列表數(shù)據(jù)適配器

      adapter = new SimpleCursorAdapter(this,

      R.layout.list_item_layout,c,

      new String[]{TITLE},

      new int[]{R.id.VideoName});

      //為播放列表設(shè)置數(shù)據(jù)適配器

      this.setListAdapter(adapter);

      }

      2.3 數(shù)據(jù)存儲

      Android平臺主要提供了4種數(shù)據(jù)存儲機制[7]:Preferences(參數(shù)選項),Databases(數(shù)據(jù)庫),F(xiàn)iles(文件)和Network(網(wǎng)絡(luò))。

      Preferences(參數(shù)選項)是一種輕量級的、用于存儲或獲取數(shù)據(jù)類型的“鍵-值”項的機制。它通常用來存放應(yīng)用程序的配置信息。本文設(shè)計的多媒體播放器采用Preferen ces機制來存儲或獲取音/視頻歷史播放信息等配置信息。

      2.3.1 獲取數(shù)據(jù)

      若要獲取Preferences文件的數(shù)據(jù),例如繼續(xù)播放動作需要讀取播放歷史信息。首先通過調(diào)用Context.getSharedPreferences(String name,int mode)方法傳入Preferences文件名和打開模式來獲得一個SharedPreferences對象sp,若該Preferences文件不存在,在提交數(shù)據(jù)后會創(chuàng)建該Preferences文件。利用該sp對象調(diào)用getter方法,傳入相應(yīng)的鍵來讀取數(shù)據(jù)。

      //讀取存放在SharedPreferences文件夾里的上一次播放的Uri

      SharedPreferences sp;

      sp=getSharedPreferences(PREF,Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE);

      String uriString = sp.getString(URI_KEY,null);

      nowPlaying = Uri.parse(uriString);

      在Android平臺中,所有音/視頻文件的相關(guān)信息都是以Content的形式提供給開發(fā)者的,所以歷史播放信息是content://樣式的URI,也就是前面提到的nowPlaying。

      2.3.2 存儲數(shù)據(jù)

      若要修改Preferences文件的數(shù)據(jù),例如暫停當(dāng)前播放,或停止播放并退出該播放器軟件會引起播放歷史信息的變更。而產(chǎn)生該動作的原理是,每當(dāng)播放新的音/視頻文件首先將其URI賦值到全局變量nowPlaying,然后在退出該播放軟件時處理變更工作:利用SharedPreferences對象sp調(diào)用edit()方法獲得一個內(nèi)部類Editor對象editor,利用該editor對象對Preferences文件進行編輯,即讀取nowPlaying的數(shù)據(jù),隨后必須調(diào)用commit()方法才可以完成修改該Preferences文件里鍵為URI_KEY的對應(yīng)數(shù)值。

      SharedPreferences.Editor editor = sp.edit();

      editor.putString(URI_KEY,nowPlaying.省略mit();

      2.4 多媒體應(yīng)用

      2.4.1 多媒體宏觀結(jié)構(gòu)

      Android的多媒體部分框架涉及應(yīng)用程序、Java框架層、C語言框架、硬件抽象層等環(huán)節(jié)。其中Android Java框架層提供標(biāo)準(zhǔn)多媒體API供上層相關(guān)應(yīng)用程序調(diào)用。而媒體的播放過程實際上是由下層的OpenCore和Stagefright等實現(xiàn)的。Android多媒體宏觀結(jié)構(gòu)如圖2所示[8]。

      2.4.2 多媒體處理過程

      典型數(shù)據(jù)流在多媒體播放器中的運行過程主要經(jīng)過以下環(huán)節(jié)[9]:最上層的Java應(yīng)用程序?qū)⒚襟wURI(媒體文件或者流媒體)作為輸入設(shè)置到媒體播放器中(主要是通過Android平臺提供的標(biāo)準(zhǔn)接口API,如MediaPlayer(媒體播放器接口)等),經(jīng)過Java框架層,JNI和本地框架層,一直設(shè)置到PVPlayer(OpenCore)。該過程中只是傳遞媒體URI路徑,并無數(shù)據(jù)流傳遞。由PVPlayer進行解析后,將媒體分成音頻流(MP3,AMR,AAC等)和視頻流(H263,H264,MPEG4等),經(jīng)過編解碼器的處理和同步(AVSync)處理后轉(zhuǎn)換成原始數(shù)據(jù)(音頻通常是PCM,視頻通常是YUV或RGB格式)。隨后音視頻原始數(shù)據(jù)將被送入音頻和視頻的輸出環(huán)節(jié)(揚聲器或者顯示屏等硬件)[6-7]。

      2.4.3 多媒體播放接口

      Android平臺提供android.media包來管理各種音頻和視頻的媒體接口,該包中的MediaPlayer(媒體播放器接口)用于控制音頻或視頻文件和流的回放。另外在android.widget包中還提供Video View(視頻視圖)組件用于播放視頻文件,以簡化相對于使用MediaPlayer播放視頻的繁瑣控制過程[10]。

      (1) MediaPlayer

      對播放音頻而言,通過MediaPlayer.crea te(Context context,Uri uri)方法來獲取播放器實例,無需播放準(zhǔn)備,直接通過MediaPlay er.start()方法來啟動播放動作。其中nowPlaying就是用戶當(dāng)前選中的待播放文件[9]。

      //開始播放

      MediaPlayer mPlayer = MediaPlayer.create(context,nowPlaying);

      mPlayer.start();

      通過播放器實例mp調(diào)用MediaPlayer.pause()方法可以暫停當(dāng)前播放行為,可以使用start()方法恢復(fù)播放。

      首先調(diào)用MediaPlayer.stop()停止當(dāng)前播放行為,再調(diào)用釋放與播放器相關(guān)資源的方法MediaPlayer.release()來完成停止播放動作。

      對于播放視頻來說,通過MediaPlayer (媒體播放器接口)的“setDataSource”方法可以指定視頻文件路徑。與播放音頻數(shù)據(jù)不同的是,視頻播放還要設(shè)置顯示視頻內(nèi)容的承載體,使用MediaPlayer的“setDisplay”方法為當(dāng)前播放器實例設(shè)置一個用于顯示視頻內(nèi)容、代表屏幕描繪的控制器。這樣用于播放視頻的播放承載體必須實現(xiàn)Surface Holder (表面視圖處理接口)的視圖組件。

      (2) Video View

      首先視頻播放布局資源中必須定義2個組件:“VideoView”標(biāo)記定義視頻視圖組件,“MediaController”標(biāo)記定義視頻播放控制器組件。在Acitity組件對布局資源填充完成后,獲取布局資源中定義的視頻視圖和播放控制器組件實例(mVideo和mController),視頻視圖實例mVideo指定要播放的視頻文件路徑或URI,用于承載待顯示視頻內(nèi)容,并為mVideo設(shè)置播放控制器用于控制該視頻文件的播放行為(如暫停、前進、后退和進度拖曳等),再調(diào)用VideoView.start()方法啟動播放行為。停止播放行為可以調(diào)用Video View.stopPlayback()來停止回放行為[9]。

      //獲取視頻視圖和播放控制器組件實例

      mVideo=(VideoView)findViewById(R.id.video_view);

      mController=(MediaController)findViewById(R.id.media_controller);

      //設(shè)置視頻文件URI

      mVideo.setVideoURI(nowPlaying);

      //設(shè)置播放控制器

      mVideo.setMediaController(mController);

      3 測 試

      本文設(shè)計的多媒體播放器是在Android SDK 2.3平臺下開發(fā)完成的。該播放器以應(yīng)用程序apk的形式分別集成到在Android 2.3模擬器和HTC A3380手機上,通過測試能夠?qū)崿F(xiàn)音/視頻文件的本地播放功能,例如暫停、繼續(xù)、停止、進度拖曳等。以音頻播放為例,測試效果如圖3所示。

      4 結(jié) 語

      本文重點介紹基于Android平臺的多媒體播放器解決方案。側(cè)重分析UI(用戶界面)設(shè)計、音/視頻數(shù)據(jù)信息讀寫,及音/視頻播放等過程;并在Android SDK2.3平臺上進行功能性測試,測試結(jié)果滿足預(yù)期,能夠正常播放本地多媒體文件。隨著用戶對移動終端的媒體播放功能的需求日益增加,提供支持更高分辨率的視頻播放,以及和網(wǎng)絡(luò)結(jié)合的流媒體方面的功能將是下一步的研究重點。

      參 考 文 獻

      [1] E2ECloud工作室.深入淺出 Google Android [M].北京:人民郵電出版社,2009.

      [2] 高煥堂.Android應(yīng)用框架原理及程式設(shè)計36技[M]. [出版地不詳 ]:廣悅文化事業(yè)有限公司,2009.

      [3] 佚名.Android開發(fā)教程&筆記[EB/OL].[2009-11-19].省略/tech/509.htm.

      [4] 張正政,林耀榮.基于Android系統(tǒng)的影音播放器開發(fā)[J].現(xiàn)代電子技術(shù),2011,34(2):5-8.

      [5] 趙亮,張維.基于Android 技術(shù)的界面設(shè)計與研究[J].電腦知識與技術(shù),2009,29(5):8183-8185.

      [6] 公磊,周聰.基于Android 的移動終端應(yīng)用程序開發(fā)與研究[J].計算機與現(xiàn)代化,2008(8):85-89.

      [7] 小試牛刀.解讀:Android平臺數(shù)據(jù)存儲機制[EB/OL].[2010-12-17].hb.省略/a/20101217/000047.htm.

      [8] 韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點詳解[M].北京:電子工業(yè)出版社,2010.

      [9] 韓超,梁泉.Android系統(tǒng)級深入開發(fā)[M].北京:電子工業(yè)出版社,2010.

      [10] 汪永松.Android平臺開發(fā)之旅[M].北京:機械工業(yè)出版社,2011.

      [11] 賀丹丹,施展.基于Android的VoIP系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2011,34(6):28-31.

      [12] 車一,龍華,蔣華龍.下一代移動通信業(yè)務(wù)的自相似研究和實現(xiàn)[J].電子科技,2008(2):55-57.

      [13] 王鳳妮,王金寶.基于P2P架構(gòu)和SIP協(xié)議的多媒體郵件網(wǎng)絡(luò)研究[J].電子科技,2008(1):60-62.

      篇(4)

      分辨率:最高720P

      輸出格式:NTSC/PAL

      存儲設(shè)備:SD\SM\MMC\XD卡、USB接移動硬盤

      文件系統(tǒng):FAT32、NTFS

      眾所周知,互聯(lián)網(wǎng)上RM、RMVB壓縮視頻格式電影大為流行,任何一個普通網(wǎng)民都能輕易地找到并且享用這個免費大餐。過去,大家習(xí)慣于通過PC下載電影并在電腦上觀看,但并不是所有人的PC都配置有“超級”音響、超大顯示器,如果下載的電影拿到液晶電視上播放,那該多好呢?如今,天敏推出的天敏炫影DMP100多媒體播放器為我

      們提供了一個非常完美的解決方案。

      外觀精巧,接口設(shè)計合理

      炫影DMP100體積小巧,整體為灰色。外殼采用了噴漆表面處理技術(shù),不僅做工精良,而且美觀大方,放置于客廳相信是非常適合的。

      機身左側(cè),我們可以看見炫影DMP100的YPbPr以及AV輸出接口。而機身背面從左向右分別是電源、音頻線以及兩個USB(部分移動硬盤需要兩個USB接口來提供電能),可以連接閃盤或移動硬盤等設(shè)備,最右側(cè)是4合1讀卡器接口,支持SD、SM、MMC、XD等多種類型的存儲卡。

      視頻直接播放,無需轉(zhuǎn)換

      炫影DMP100內(nèi)部集成了多媒體解碼芯片,通過YPbPr(色差)輸出,可以在LCD、電視機等提供該接口的顯示器上直接播放RM、RMVB、MPEG-1/2、DAT、AVI、DIV等視頻格式文件,各種格式文件都是無需轉(zhuǎn)換的,非常方便和人性化。另外,和一般的帶視頻輸出的MP4產(chǎn)品相比,炫影DMP100最大優(yōu)勢在于分辨率可高達720P,能夠滿足大屏幕液晶電視的片源標(biāo)準(zhǔn)。

      操控方便,操控界面友好

      篇(5)

      作為一款采用瑞芯微RK2706B方案的便攜式播放器,臺電M36在視頻的支持方面十分全面,AVI、RM、RMVB、FLAV、WMV、MPG、3GO、VOB、DAT、MP4等視頻格式都可兼容,最大支持720×480分辨率的影片,但高碼率視頻略顯吃力,但目前網(wǎng)上流行的視頻格式來說,這樣的小巧的播放器不可能苛求播放“高清”視頻了。

      M36最大的賣點就在有支持CMMB移動電視接收功能。M36內(nèi)置了創(chuàng)毅視訊CMMB電視芯片,支持CMMB移動電視播電視標(biāo)準(zhǔn),支持CA、QPSK等模式,可以隨身收看所有CMMB加密/非加密數(shù)字移動電視,在北京實測可以輕松收到7個以上的電臺(央視綜合、文藝、體育、英語、少兒、新聞和北京衛(wèi)視,在一些信號不錯的位置還可以看到央視科教頻道)。收看電視節(jié)目時仍然以16∶9的方式顯示,畫面流暢。不過由于CMMB傳送的節(jié)目分辨率為320×240,因此字幕等較小的文字不太容易分辨。

      除了視頻播放和CMMB電視接收功能,M36還支持FM收音機、錄音、TXT電子書閱讀等功能。

      繽紛時尚

      奮達“水木年華”S330多媒體音箱

      近日,奮達針對年輕人群全新打造推出了“水木年華”系列,該系列產(chǎn)品外觀風(fēng)格年輕化,配色大膽活潑,很符合年輕時尚的定位,S330音箱就是其中之一。

      奮達S330是一款2.1音箱產(chǎn)品,屬于新系列“水木年華”。S330外觀風(fēng)格年輕化,配色大膽,采用了年輕人比較喜歡的冰藍、粉紅、鮮橙色、淡綠作為點綴,讓產(chǎn)品更具活力,其簡潔生活化的設(shè)計風(fēng)格吸取了歐美“簡潔至上”的理念,穩(wěn)重大器,沒有多余修飾。

      篇(6)

      1 引言

      在本次設(shè)計中,考慮用Microsoft Windows Media Player為數(shù)字音頻和視頻提供支持,還可以根據(jù)需要修改視頻內(nèi)容的播放方式。使用 Windows Media Player 軟件開發(fā)工具包 ,可以擴展獨立Player 的功能,借助 ActiveX 控件資源和其他現(xiàn)有的控件資源并將播放功能嵌入到自己的應(yīng)用程序中。本次課程設(shè)計實現(xiàn)了一個基于Media Player組件的多媒體播放器,能夠支持目前多數(shù)格式的媒體文件。

      2 設(shè)計思路

      Windows Media Player是一款Windows系統(tǒng)自帶的播放器,支持通過插件增強功能。其控件作為本次課設(shè)的媒體控件可以滿足要求。并且該控件是微軟自帶的免費控件,通常每個電腦都應(yīng)有這個控件,方便設(shè)計出來的軟件在各個電腦運行。在WMP(Windows Media Player的簡稱)控件里,與多媒體播放器實現(xiàn)功能有關(guān)的類有:Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpplaylist,Cwmpsettings 五大類。播放器的一些基本的功能如播放、暫停等主要是調(diào)用CWMPControl 和 CWMPPlayer 類中的成員函數(shù)來進行實現(xiàn)。 對于打開按鈕,需要調(diào)用通用文件對話框類,調(diào)用 szFileFilter()文件過濾函數(shù)和 GetFileName()獲取文件名函數(shù)。播放列表主要是通過對 CListBox 類進行初始化,調(diào)用 m_ListCtrl 中的 AddString()函數(shù)來加載文件名到列表,再定義 Onlist()、SelchangeList1()、Onsave()、Ondelist()函數(shù)來實現(xiàn)展開、隱藏等功能。音量滑動條Slinder 是通過對 CSliderCtrl 類進行初始化,調(diào)用 m_slinder 中的CustomdrawSlider()函數(shù)來定義音量的改變。

      3 軟件設(shè)計

      設(shè)計平臺可以是Win32的操作平臺上,使用已安裝的VC6.0++進行設(shè)計和調(diào)試。在設(shè)計前要確保平臺中有WMP控件。結(jié)合之前的設(shè)計思路,使用 Windows Media Player 等控件來制作多媒體視頻播放器。若是Win64這與VC6.0++不兼容,可以選擇更高的版本。

      3.1 設(shè)計步驟

      打開 VC++6.0,點擊“新建”,在“新建”窗口選擇“工程”選項卡。由于程序是基于對話框的 MFC 應(yīng)用程序使用 Windows Media Player等控件來制作多媒體視頻播放器。設(shè)置好地址位置和工程名后點“確定”。這里的工程名字可以是自己的名字拼音縮寫,也可以沒有任何含義。比如以“CCYMFC多媒體播放器1.0”為工程名,然后點擊“確定”。

      在點擊“確定”后進入到了“MFC 應(yīng)用程序向?qū)ЖD步驟 1”的O置界面,選擇“基本對話框”,可以自己選擇語言,然后點擊“下一步”。接著點擊“下一步”,由于其他的設(shè)置因與初始設(shè)置一樣,所以保持所有選項不改變,再次點擊“下一步”直到“完成”。在建立的對話框中,點擊右鍵,選擇“插入 ActiveX 控件” ,在跳出的對話框中選擇“Windows Media Player”,點擊“確定”。

      雖然已經(jīng)插入控件了,但這時的控件還不能使用,因為控件的各種類并沒有一起加入工程類中。右擊鼠標(biāo),選擇“建立類向?qū)А保@時系統(tǒng)跳出對話框提示是否加入來自控件的類,直接點擊“確定”就可以了。右鍵單擊 “建立類向?qū)А保趯υ捒蛑羞x擇“Member Variables”選項卡,單擊“ADD Variables”,“Confirm Classes”中點擊“OK”會 “Add member name”對話框,命名為“m_player”,設(shè)為控制“Control”型,單機“OK”。關(guān)聯(lián)變量之后才算是真正的添加了該控件,可以發(fā)現(xiàn)在關(guān)聯(lián)變量之后,控件工具欄多了“Windows Media Player”控件的選項,并且在“Source Files”中增加了17個類,相應(yīng)頭文件也增加了17個,其中最主要的類為Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpplaylist,Cwmpsettings 五大類。

      3.2 界面設(shè)計

      對于多媒體播放器的,本次課程設(shè)計要求系統(tǒng)能選擇打開、播放、暫停、停止,全屏視頻文件,并能控制聲音的大小,其中函數(shù)的響應(yīng)大多是對鼠標(biāo)左鍵單擊的響應(yīng)。可以通過下表設(shè)置安排按鈕的位置以及分類,使用戶快速對控件ID進行修改。然后是加入一些關(guān)聯(lián)變量的控件,之前加入了WMPlayer,還要加入類別為“滑塊”的Slinder來當(dāng)調(diào)節(jié)聲音的滑塊,還有加入類別為“列表框”的List Control來充當(dāng)播放列表。

      除了對各個控件關(guān)聯(lián)變量以及消息響應(yīng)函數(shù),還要對對話框類進行消息響應(yīng)函數(shù)的關(guān)聯(lián),如當(dāng)一首歌播放完后的模式選擇。應(yīng)用到 WM_TIMER 消息響應(yīng)函數(shù)以及SetTimer()和KillTimer()函數(shù),建立OnTimer函數(shù)。

      3.3 關(guān)鍵功能的實現(xiàn)

      對于各個按鈕、列表功能的實現(xiàn)主要是通過對各個函數(shù)加入相應(yīng)的代碼,下文將列出相應(yīng)的關(guān)鍵代碼,按鍵功能可對應(yīng)關(guān)鍵代碼添加在相應(yīng)的位置。

      播放列表主要有“播放列表”、“保存列表”、“刪除列表”、“清空列表” 這四個功能。這個列表的四個功能實現(xiàn)前提是在工程的文件夾里新建一個txt文檔并命名為“l(fā)ist.txt”。文檔可以保存播放文件列表使在下次打開時可自動的生成播放列表。然后是“播放列表”功能,其實就是在重新設(shè)置窗口大小,若展開則恢復(fù)原來的窗口大小,這里使用了SetWindowPos()函數(shù)。最后是“刪除當(dāng)前”和“清除列表”,使用了“DeleteString()”來刪除播放列表中的代表文件路徑的字符串。用“ResetContent()”直接清除列表。同時不管那種功能,執(zhí)行完成后要保存列表,這樣才能使播放列表與list.txt同步。“打開”按鈕主要是實現(xiàn)了對打開的文件進行過濾,主要使用了szFileFilter()函數(shù)。點擊確定時,首先是把文件路徑傳給播放列表中,列表在從文件路徑中提取文件名來顯示。然后又把文件路徑通過SetUrl()交給控件讀取播放。

      這里有三種播放模式:“順序播放”、“隨機播放”、“單曲循環(huán)”。這三種模式的實現(xiàn)是在OnTimer()一個時間消息響應(yīng)函數(shù)的實現(xiàn)的。先判斷一個文件播放完畢后,再分別判斷OnRadio1、OnRadio2和OnRadio3對應(yīng)的按鈕是否按下,若有按鈕按下就進入到對應(yīng)的if語句中。順序播放就是int index=m_ListCtrl.GetCurSel()+1跟上一首相同;隨機播放先是用srand(time(0))來每次都能產(chǎn)生不同的隨機數(shù)序列,再用rand()%m_ListCtrl.GetCount()產(chǎn)生隨機光標(biāo);循環(huán)播放是m_ListCtrl.GetText(m_ListCtrl.GetCurSel(),m_PathName)實現(xiàn)的。

      音量滑動條是區(qū)別于其他命令按鈕的,它是滑塊,所以相應(yīng)的是Customdraw類型,是調(diào)用 CSliderCtrl 控件的 m_slinder 變量來實現(xiàn)的。音量調(diào)節(jié)函數(shù)主要是使用一個嵌套函數(shù)“m_WMPlayer.GetSettings().SetVolume(m_slinder.GetPos());”實現(xiàn)的。設(shè)置音量用的是“SetVolume()”函數(shù)。在“OnInitDialog()”函數(shù)中已對滑塊范圍進行初始化――m_slinder.SetRange(0,100)。使音量化范圍為0~100。

      4 問題發(fā)現(xiàn)與解決

      在完善程序和調(diào)試過程中出現(xiàn)了各種各樣的語法錯誤,通過百度查閱相關(guān)語法問題以及細心的檢查中得到了解決,現(xiàn)將我遇到的問題以及解決方法摘錄如下:

      篇(7)

      您聽明白了嗎?不明白沒關(guān)系,因為和大多數(shù)新產(chǎn)品一樣,MP5這個產(chǎn)品概念目前還沒有準(zhǔn)確的定義,從行業(yè)的角度來說,就是沒有一個明確的行業(yè)標(biāo)準(zhǔn)。MP5期待一個行業(yè)標(biāo)準(zhǔn),制定標(biāo)準(zhǔn)的目的在于凈化市場環(huán)境,讓消費者能夠明明白白消費,使便攜式多媒體播放器產(chǎn)業(yè)有一個更好的前景。

      在中國,MP3、MP4等產(chǎn)品是最炙手可熱的兩類消費電子類產(chǎn)品。但是由于行業(yè)標(biāo)準(zhǔn)的缺失,以至于部分廠商的產(chǎn)品魚目混珠,擾亂了市場秩序。

      而值得欣慰的是,現(xiàn)在針對MP3、MP4的兩個國家標(biāo)準(zhǔn)已經(jīng)基本落定,今年年底有望執(zhí)行。在愛國者第一款MP5產(chǎn)品之后,有關(guān)方面也開始了MP5標(biāo)準(zhǔn)的起草。

      參與該標(biāo)準(zhǔn)制定的中國電子技術(shù)標(biāo)準(zhǔn)化研究所高級工程師高健認為:“便攜式多媒體播放器產(chǎn)品標(biāo)準(zhǔn)的制定,是一個難度很大的問題。以前沒有MP3、MP4、MP5這些概念,而現(xiàn)在概念建立起來了,但需要明確相應(yīng)的標(biāo)準(zhǔn)。但是具體如何操作,還需要不斷地進行探索。”

      就MP5而言,產(chǎn)品化之后,應(yīng)該有CPU、存儲和接口三大部分。而這些設(shè)備本身可以看作是計算機產(chǎn)品的延伸:MP5中的微處理器對應(yīng)計算機的CPU,閃存對應(yīng)計算機的磁盤和光盤的存儲器,而MP5的接口也是計算機技術(shù)的延伸。

      但多媒體播放器仍然與計算機有著巨大不同。評價一臺計算機的性能,可以通過測試軟件運行、數(shù)據(jù)讀寫的速度等方式來了解,而對于多媒體播放器,則很難用上述辦法來實現(xiàn)對產(chǎn)品的定義。

      篇(8)

      分辨率:最高720P

      輸出格式:NTSC/PAL

      存儲設(shè)備:SD\SM\MMC\XD卡、USB接移動硬盤、2.5英寸筆記本硬盤

      文件系統(tǒng):FAT32、NTFS

      長久以來,很多消費者習(xí)慣了利用電腦下載并觀看電影,但并不是所有人都配有“超級”音響、超大顯示器。為了讓消費者能像原來的DVD影碟機一樣,很方便地欣賞互聯(lián)網(wǎng)上豐富的視頻資源,天敏推出了系列多媒體播放器產(chǎn)品,利用這樣的播放器,消費者在不需要進行格式轉(zhuǎn)換的情況下,就可在大屏幕的電視上欣賞RM和RMVB視頻,非常方便。

      由于網(wǎng)絡(luò)上RM和RMVB資源非常豐富,天敏的多媒體播放器推出后就受到了廣大消費者的喜愛。近日,天敏在原來的基礎(chǔ)上推出了其第三代多媒體播放器新品――炫影硬盤版多媒體播放器,型號為DMP220,它最大的改進在于播放器直接支持2.5英寸筆記本硬盤,這樣大大提高播放器的移動性。

      硬盤的安裝需要將DMP220拆開,首先擰下右側(cè)兩顆固定螺絲之后,將PCB板取出,此時可以看到PCB板的一面是主控和緩存芯片等元件,另外一面則是一個2.5英寸的SATA硬盤接口。這時將準(zhǔn)備好的硬盤插上去,然后將PCB板安裝好即可。

      由于除了視頻播放功能外,DMP220還支持圖片瀏覽、音樂播放以及文件瀏覽,可以瀏覽硬盤內(nèi)存放的各種文件。其中,音樂格式包括MP3、WMA等,而圖片則支持JPG、BMP和PNG等,并且支持幻燈播放,旋轉(zhuǎn)、縮放等功能。因此可以這么說,插上SATA硬盤,DMP220既是一個DVD播放器,也是一個移動硬盤盒,為此天敏還專門提供了一個小布袋,考慮相當(dāng)周到。

      外形設(shè)計上,DMP220與之前的版本相類似,不過在配色上則更加炫麗,紅色的按鈕點綴淺灰色的面板,搭配更具時尚感。外殼經(jīng)過磨砂處理,做工也更精良。包裝上也采用精美的禮盒包裝,整體顯得十分高檔。

      篇(9)

      目前,國內(nèi)車載電子設(shè)備市場極度缺乏多媒體綜合軟件,該軟件能有效地將車載導(dǎo)航、影音圖像、倒車?yán)走_、娛樂互動等多個功能整合,方便乘客和車主的使用[1]。將多種娛樂和使用功能整合統(tǒng)一,使得設(shè)備簡潔美觀,同時降低了重復(fù)安裝的成本和投入。可以極大地減少車內(nèi)空間消耗,降低整車油耗[2]。多媒體共屏展示也能保證駕駛員的操作強度,保證行車安全。因此,將行車信息、娛樂互動、交流通信、車載導(dǎo)航等功能集于一體的嵌入式綜合媒體系統(tǒng)符合市場和環(huán)境的發(fā)展要求[3]。

       

      1 車載嵌入式播放器總體設(shè)計

       

      出于應(yīng)用領(lǐng)域、自帶資源、可擴展資源、功耗等多方面的考慮,選擇Linux 內(nèi)核為嵌入式多媒體播放器的操作系統(tǒng)核心。將多媒體技術(shù)應(yīng)用于嵌入式系統(tǒng)中面臨著諸多的技術(shù)難題,嵌入式設(shè)備的特點決定了其資源通常非常有限,而有限的資源意味著需要進行多方面技術(shù)的優(yōu)化[4]。

       

      首先,嵌入式設(shè)備采用蓄電池提供能源,所以對系統(tǒng)的功耗要求比較嚴(yán)格;第二,嵌入式設(shè)備上通常沒有實用的圖像加速器,聲卡等硬件加速設(shè)備的支持;第三,不存在DirectX,DirectShow等高層多媒體的支持。基于上述考慮,有必要設(shè)計適用于嵌入式應(yīng)用的嵌入式處理器,嵌入式操作系統(tǒng)。根據(jù)嵌入式多媒體播放器的功能需求及技術(shù)特點,通常將嵌入式多媒體播放器的體系結(jié)構(gòu)劃分為硬件層、內(nèi)核層和應(yīng)用層,具體如圖1所示。

       

      系統(tǒng)的硬件層的硬件平臺包括嵌入式微處理器和外圍設(shè)備,通過合理選型和匹配可以完成滿意的底層硬件組合。本系統(tǒng)的嵌入式MCU使用三星公司的S3C2410高速微處理器,S3C2410高速微處理器作為整個硬件系統(tǒng)的控制核心,接收、處理相關(guān)數(shù)據(jù)并實時發(fā)出控制指令。與其配合的系統(tǒng)外圍設(shè)備是完成系統(tǒng)功能的必要組建和模塊,涉及系統(tǒng)存儲模塊FLASH和E2PROM,LCD輸出單元、主控外圍電路和音頻輸出模塊等。

       

      軟件部分包含應(yīng)用層和內(nèi)核層兩個部分。應(yīng)用層包含嵌入式Linux操作系統(tǒng)和硬件驅(qū)動程序,包括BootLoader, Linux內(nèi)核,根文件系統(tǒng)3部分。應(yīng)用層包含嵌入式用戶應(yīng)用程序、音頻解碼器和GUI。本系統(tǒng)選擇嵌入式Linux操作系統(tǒng)作為操作系統(tǒng)[5]。

       

      2 操作系統(tǒng)平臺的構(gòu)建

       

      內(nèi)核是整個Linux系統(tǒng)的核心,根據(jù)實際情況針對內(nèi)核的配置進行選擇,本質(zhì)上指根據(jù)開發(fā)系統(tǒng)的功能需求對已有的操作系統(tǒng)進行選擇,保留開發(fā)需求的系統(tǒng)單元,刪除不需要的模塊單元。在本系統(tǒng)中,嵌入式Linux內(nèi)核選擇ARM?Linux內(nèi)核。Linux內(nèi)核的配置系統(tǒng)由Makefile、配置文件(config.in)、配置工具組成[6]。完成內(nèi)核的數(shù)據(jù)參數(shù)配置后,不能將程序數(shù)據(jù)直接下載到嵌入式系統(tǒng)中進行調(diào)試運行,因為此時數(shù)據(jù)仍然以源代碼的形式存在。此時,為了生成最終能在嵌入式操作系統(tǒng)上運行的可執(zhí)行代碼[7],需要進一步對內(nèi)核進行編譯。

       

      過程結(jié)束后,Image和zImage兩個內(nèi)核映像文件會在arch/arm/boot目錄下生成,zImage為壓縮后的映像文件,Image為正常大小的映像文件。得到內(nèi)核映像文件后,首先在開發(fā)板使用的宿主機(PC)上建立一個tftp服務(wù),使用DNW工具,在開發(fā)板上電時按任意鍵進入U?Boot提示符,執(zhí)行以下命令:

       

      在嵌入式操作系統(tǒng)正常運行時,需要使用根文件系統(tǒng)支持各種功能[8],在內(nèi)核剛啟動運行時根文件系統(tǒng)需要掛載起來用于支持訪問外部設(shè)備,同時完成內(nèi)核模塊應(yīng)用程序的裝載和運行,避免出現(xiàn)Kernelpanic的情況,防止系統(tǒng)內(nèi)核在啟動時沒有根文件的支持。在實際應(yīng)用中,嵌入式操作系統(tǒng)使用動態(tài)隨機存取器、同步動態(tài)隨機存取器、FLASH存儲器作為存儲設(shè)備[9]。基于存儲設(shè)備,使用JFFS2,YAFFS,CRAMFS,ROMFS,RAMFS等常見系統(tǒng)作為存儲設(shè)備的嵌入式文件系統(tǒng)。在本系統(tǒng)中,選擇NANDFLASH作為硬件提案所使用的存儲芯片,選用NANDFLASH上使用比較廣泛的Cramfs文件系統(tǒng)作為嵌入式根文件系統(tǒng)。

       

      嵌入式Linux 操作系統(tǒng)的啟動流程如圖2所示。系統(tǒng)啟動流程包括六個步驟:

       

      (1) 系統(tǒng)復(fù)位,從地址0x00開始執(zhí)行,進入步驟(2);

       

      (2) 啟動Bootloader模塊,進入步驟(3);

       

      (3) 判斷系統(tǒng)是否進入Linux,啟動Linux內(nèi)核映像,不啟動則進入U?boot的命令操作環(huán)境,如果啟動內(nèi)核,進入步驟(4);

       

      (4) 系統(tǒng)從NANDFLASH加載內(nèi)核到內(nèi)存中,完成對硬件設(shè)備的初始化工作,進入步驟(5);

       

      (5) 掛載根文件系統(tǒng),執(zhí)行init進程,并從/etc/inittab取得配置文件,進入步驟(6);

       

      (6) 提示執(zhí)行用戶應(yīng)用程序或用戶登錄信息。

      3 視頻播放器軟件設(shè)計

       

      3.1 基于Mplayer實現(xiàn)多媒體播放器

       

      Mplayer是一個Linux下的電影播放器(也能運行在許多其他的Unices和非X86的CPU上)。Mplayer的邏輯結(jié)構(gòu)可以分為四個層次,即:輸入層、分流層、解碼層和輸出層,其結(jié)構(gòu)如圖3所示。

       

      本文選擇Mplayer作為后臺設(shè)計播放軟件。利用Qt/E為軟件平臺設(shè)計GUI圖形控制界面,對多媒體播放器的播放過程進行控制。由于條件限制,本實驗在宿主機上編譯并安裝了Mplayer,通過Qt設(shè)計基于X86的多媒體播放器。

       

      3.2 軟件總體模塊設(shè)計

       

      由于Qt/Embedded工具可以繞過X Windows System協(xié)議客戶端庫,直接讀/寫幀緩存的FrameBuffer的數(shù)據(jù)信息,因此實現(xiàn)Qt類庫對幀緩存的直接讀/寫操作,使用基于Qt/Embedded的應(yīng)用程序可以完成。本系統(tǒng)使用嵌入式Linux作為操作系統(tǒng),通過Qt的圖形平臺和函數(shù)庫完成嵌入式多媒體綜合播放。多媒體播放系統(tǒng)采用模塊化設(shè)計思想,其架構(gòu)如圖4所示。

       

      嵌入式多媒體播放器包含五個主要的模塊:

       

      (1) I/O(輸入/輸出模塊):用于多媒體文件的讀入和輸出。

       

      (2) UI(用戶界面單元):用戶界面單元的作用是方便用戶操作嵌入式媒體播放器的各項功能,提供良好的人機操作互動界面和使用體驗。

       

      (3) 插件接口單元:讀入多媒體數(shù)據(jù)(通過輸入插件獲取I/O模塊發(fā)送過來的數(shù)據(jù))、調(diào)用Mplayer對文件進行解碼播放、文件總的時間長度、編碼類型、比特率等信息的獲取、暫停、快進、快退、停止、輸出、輸入等的動作,輸入動作具體指將輸出插件完成解碼的數(shù)據(jù)信息傳送到系統(tǒng)輸出輸入單元的過程。

       

      (4) Mplayer解碼單元:為了對不同類型的多媒體文件進行解碼操作,系統(tǒng)選擇的Mplayer解碼單元由分離器、音視頻解碼器等部分組成。

       

      (5) GUI單元:為了方便快捷的產(chǎn)生讀/寫FrameBuffer以及用戶界面, GUI單元通過使用Qt/E嵌入式工具作為底層圖形庫。

       

      軟件總體模塊中各單元之間的相互連接關(guān)系是:通過輸入/輸出單元讀入音視頻信息數(shù)據(jù),用戶界面單元在接收到播放信息指令后,調(diào)用插件模塊相應(yīng)的函數(shù),產(chǎn)生相應(yīng)的信號,調(diào)用Mplayer完成對多媒體文件的解碼,完成解碼之后將數(shù)據(jù)送到I/O模塊輸出。

       

      3.3 控制流程設(shè)計

       

      主程序設(shè)計流程如圖5所示。當(dāng)從菜單項打開視頻文件時會觸發(fā)triggered()信號,執(zhí)行slotopen()槽函數(shù),調(diào)用Qfiledialog的getOpenFileName()函數(shù)從對話框中選擇要播放的視頻文件。系統(tǒng)首先判斷文件格式是否為*.avi格式,如果是,則創(chuàng)建一個Qprocess進程,通過該進程調(diào)用Mplayer后臺對視頻文件進行播放,并在指定區(qū)域進行輸出顯示。

       

      4 交互式圖形界面設(shè)計

       

      QImage類提供了一種與硬件訪問無關(guān)的圖片存儲方式。QPainter則主要用來完成繪圖事件。QPushButton提供了圖形用戶界面最長用到的命令按鈕部件。此GUI交互界面利用Qt Designer以QMainWindow類為基礎(chǔ)設(shè)計了主框架,包括菜單欄以及狀態(tài)欄等;同時,以QWidget類為基礎(chǔ)創(chuàng)建了一個對視頻播放進行控制的插件接口,并通過合理的布局與主窗體組合在一起。

       

      在指定目錄打開avi格式視頻文件,運行效果如圖7所示。在播放過程中,通過狀態(tài)欄實時顯示當(dāng)前視頻文件的播放時間。通過界面下方的按鈕對播放器的播放過程進行音量調(diào)節(jié)、暫停、快進、快退、停止等控制,基本達到了預(yù)期的效果。打開視頻文件時,終端開始輸出文件的加載路徑,開始讀取并輸出ANS_TIME_POSITION(視頻播放時間)參數(shù)值,在Qt與Mplayer之間完成了通信。

       

      當(dāng)在控制臺實施各種控制操作時,在終端輸出執(zhí)行的操作動作并發(fā)送該信號,調(diào)用相應(yīng)的槽函數(shù)完成對視頻播放的控制動作。

       

      以上是在主機上運行播放程序執(zhí)行播放控制的過程。在主機上運行的Qt程序是基于X結(jié)構(gòu)的,而在實際的嵌入式開發(fā)中,需要直接通過FrameBuffer進行顯示。由于條件限制及其他因素,通過qvfb模擬程序在嵌入式開發(fā)板中運行的情況,如圖8所示。

       

      從圖8中可以看出,在qvfb中運行該程序時,菜單項的中文顯示出現(xiàn)了方塊型的亂碼,這說明菜單項已經(jīng)得到了識別,只是qtopia中缺少相應(yīng)的中文字體庫,在默認的情況下,qvfb會調(diào)用字體庫中的默認字體,這樣在顯示中文時會出現(xiàn)如上問題。可以在網(wǎng)絡(luò)上下載相應(yīng)的中文字體庫并拷貝到Trolltech/Qtopiacore?opensource?4.3.0/lib/fonts中。

       

      5結(jié) 論

       

      篇(10)

      TtBigTyp14Pro散熱器是Tt公司最新推出的一款14cm直吹式風(fēng)冷散熱器。這款散熱器給我們的第一印象便是“雄偉壯觀”,風(fēng)扇尺寸達到140×140×30mm,幾乎把CPU插槽上方的空間塞了個滿滿當(dāng)當(dāng)。風(fēng)扇頂部采用了黑色半透明設(shè)計,而且還加入藍色LED燈,運轉(zhuǎn)起來的效果十分酷炫。散熱器還專門為風(fēng)扇配備了調(diào)速旋鈕,讓使用者根據(jù)自身需求調(diào)整適當(dāng)?shù)娘L(fēng)扇轉(zhuǎn)速,做到散熱與靜音的平衡。Tf BigTypt4P ro散熱器的散熱片由兩塊組合而成,這樣可以有效地增加散熱面積。為了實現(xiàn)更強的散熱效果,Tt BigTyp14Pro散熱器還采用了六根熱管通過橫向穿插的形式貫穿于底座,也就是說底座上的熱量可以同時通過兩邊熱管進行散熱,在一定程度上等效于12根熱管。這樣夸張的設(shè)計讓我們對其實際表現(xiàn)充滿了期待。

      在室溫為20攝氏度的條件下,我們搭建了以英特爾Pentium Dual-Core E5200為主的敞開式平臺,并使用ORTHOS軟件對其進行10分鐘的滿負荷測試。在使用原裝散熱器的情況下,CPU在待機時的核心溫度達到34,而在滿負荷測試中,CPU核心溫度立刻上升到50。當(dāng)換成Tt BigTypl4Pro散熱器后,溫度果然發(fā)生了很大的變化,當(dāng)風(fēng)扇低速運轉(zhuǎn)時,待機溫度只有29,而且滿載溫度也只有42℃左右,比原裝散熱器下降了接近10℃。我們再把轉(zhuǎn)速調(diào)至最高速后,CPU滿載溫度更是只在37℃左右徘徊,表現(xiàn)出很強的散熱性能,而且噪音也不是很大。如果你是硬件發(fā)燒友或超頻玩家,對自己平臺的散熱性能十分在意的話,那不妨考慮一下這款產(chǎn)品。

      存儲介質(zhì)更豐富――天敏炫影硬盤版DMP220多媒體播放器

      天敏炫影硬盤版DMP220是一款直接接入顯示設(shè)備,就能播放視頻,音頻以及圖片的多媒體播放器。它在保留DMP200所有功能的情況下,最大的改變就是可以支持硬盤。它的內(nèi)部提供了SATA接口,用戶可自行在它內(nèi)部安裝2,5英寸SATA硬盤,容量不限。在放入硬盤后,DMP220就不只是一個多媒體播放器,還兼顧了移動硬盤的功用,一舉兩得。DMP220的外觀相比DMP200改變較大,深灰色的機身上點綴橙紅色按鍵,配色更顯時尚。磨砂處理的外殼采用全金屬打造,能為硬盤帶來良好的保護。輸出接口方面,為了兼顧不同的顯示設(shè)備,DMP220具有D-Sub、色差分量以及AV接口。而除了可以播放硬盤上的視頻之外,DMP220仍然具有SD讀卡器以及OTG/HOST接口,能直接播放sD卡,DV、DC、U盤和其它USB設(shè)備上的媒體資源。在視頻輸出能力方面,DMP220能支持最高720p的色差輸出,以及最高1024×768分辨率的VGA輸出。它的主控芯片采用了一性能不錯但成本較高的Amlogic AML7228方案,性能方面比目前PMP播放器中常用的華芯飛方案更強。實際測試中,DMP220的表現(xiàn)與我們曾報道過的DMP200一樣,在這里不再贅述,讀者可參見《微型計算機》2008年11月上的相關(guān)文章。DMP220的價格比DMP200僅貴了幾十塊,但兼具了移動硬盤盒的功能,更顯實用,推薦給想要組建家庭影院的玩家。(張臻)

      篇(11)

      據(jù)介紹,作為MP5中的代表產(chǎn)品,愛國者MP5 P881 PLUS絕對領(lǐng)先于便攜式手持多媒體終端領(lǐng)域,成為許多人的必選裝備。它不僅支持主流的Real格式,使人無須轉(zhuǎn)換即可直接下載播放,還支持MP4、MPEG格式影片,特別是增加了DVD直接拷貝播放功能,既方便快捷,也會讓擁有許多碟片的朋友找到用武之地。更為吸引人的是,它具有4.3英寸高解析度特麗屏,支持D1效果分辨率720×480,3M碼流,保證高清畫質(zhì),品質(zhì)享受如同影院。此外,愛國者P881 PLUS還有多種附加增值功能,為在戶外放松的你帶來更多便捷和舒心。如在全面升級之后,幾乎已經(jīng)能夠支持所有的網(wǎng)絡(luò)視頻資源直接播放,并且具有電視錄制等多種附加功能。

      主站蜘蛛池模板: 欧美在线精品一区二区三区 | 九九精品免视看国产成人| 精品综合久久久久久88小说| 国产精品大白天新婚身材| 亚洲精品国产首次亮相| 欧美精品三区| 精品视频一区二区三区四区五区| 四虎国产精品免费观看| 高清在线亚洲精品国产二区| 午夜DY888国产精品影院| 亚洲性日韩精品一区二区三区 | 久久精品国产亚洲欧美| 久久66热人妻偷产精品9| 看99视频日韩精品| 国产亚洲精品无码拍拍拍色欲| 久久精品国产只有精品2020| 69久久夜色精品国产69| 久久99精品久久久久久hb无码| 亚洲精品乱码久久久久久| 亚洲精品99久久久久中文字幕| 日本五区在线不卡精品| 日本精品少妇一区二区三区| 精品国产污污免费网站入口在线| 国产精品无码一区二区在线| 国产精品无码免费播放| 国产精品自产拍在线18禁| 国产精品成人久久久久久久| 99久re热视频这里只有精品6| 亚洲精品电影网| 亚洲综合精品香蕉久久网97| 亚洲第一精品福利| 99久久精品免费| 国产伦精品一区二区免费| 国产欧美精品一区二区色综合| 国产精品青草视频免费播放| 国产线视频精品免费观看视频| 国产乱人伦偷精品视频不卡| 久久久无码精品亚洲日韩软件| 色哟哟国产精品免费观看| 亚洲午夜福利精品久久| 久热这里只有精品视频6|