亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Android的音視頻播放器的研究與設(shè)計(jì)

        2018-01-04 03:41:51徐艷菲吳鐵峰
        微處理機(jī) 2017年6期
        關(guān)鍵詞:播放器音視頻界面

        徐艷菲,吳鐵峰

        基于Android的音視頻播放器的研究與設(shè)計(jì)

        徐艷菲,吳鐵峰

        (佳木斯大學(xué)信息電子技術(shù)學(xué)院,佳木斯154007)

        隨著計(jì)算機(jī)技術(shù)的發(fā)展,利用計(jì)算機(jī)技術(shù)改善人民生活水平的需求越來越高。音視頻播放器研究的目的就是為了滿足用戶的精神生活需要,而開發(fā)的一款基于Android平臺的便于人們使用的音、視頻播放器,通過在移動端使用播放器,播放音樂或視頻文件,給用戶帶來藝術(shù)體驗(yàn),最終達(dá)到緩解用戶壓力的目的。從音視頻播放器開發(fā)的意義和目的出發(fā),在對播放器的需求進(jìn)行分析的基礎(chǔ)上,以Java語言和Android SDK為開發(fā)語言,以Android Studio為編寫工具進(jìn)行設(shè)計(jì)。播放器主要分為音樂播放和視頻播放兩大模塊。音、視頻播放器實(shí)現(xiàn)了調(diào)節(jié)音量、切換播放模式、歌詞顯示、上一曲或下一曲播放、播放進(jìn)度條的同步顯示等功能。

        Android系統(tǒng);音樂播放器;視頻播放器;開源系統(tǒng);消息傳遞機(jī)制

        1 引 言

        隨著社會的發(fā)展,人們的生活水平不斷提高,生活節(jié)奏也在不斷加快,隨之而來的是精神壓力越來越大,而欣賞音樂和觀看視頻是最好的舒緩壓力的方式之一,但目前市面上用戶使用的主流播放器還存在著一些弊端,例如:所需要占用的內(nèi)存過大、外觀花哨不實(shí)用、播放時(shí)損耗流量過多、軟件捆綁過于嚴(yán)重、操作過于繁瑣不適合老年和兒童使用、音樂播放和視頻播放之間的切換過于繁瑣,等等。

        這些情況嚴(yán)重影響了用戶的良好體驗(yàn)和個人權(quán)益,針對以上各種弊端,將各項(xiàng)性能進(jìn)行優(yōu)化,同時(shí)繼承播放器的常用功能,便可滿足一般用戶聽歌、看電影的需求。它能播放常見格式的音視頻文件,包括RMVB、AVI、3GB 等格式的視頻文件[1]。

        以開發(fā)一個可以播放主流音樂文件格式并且可以播放視頻的多功能播放器為目的,設(shè)計(jì)一款基于Android手機(jī)平臺的音視頻播放器。利用音視頻可以在同一個APP中播放的特點(diǎn),更好地提升用戶的體驗(yàn)。手機(jī)上裝有一個靈巧的音視頻播放器,用戶的操作將更加便捷[2]。

        2 配置Android開發(fā)環(huán)境

        在搭建Android的開發(fā)環(huán)境時(shí),首先要搭建Java的開發(fā)環(huán)境,其搭建過程如下:安裝JDK,配置JDK的環(huán)境變量;下載Android開發(fā)所需要的SDK;下載開發(fā)工具,此處用到的開發(fā)工具為Android Studio;下載完成Android Studio后,關(guān)聯(lián)一下SDK[3]。

        3 Android的消息傳遞機(jī)制

        當(dāng)設(shè)計(jì)師創(chuàng)建Android應(yīng)用程序的進(jìn)程之時(shí),系統(tǒng)就給此進(jìn)程提供了一個Looper。Looper是一個死循環(huán),它從內(nèi)部維護(hù)這個消息隊(duì)列。Looper不停地從消息隊(duì)列中取出消息(Message),取到消息就發(fā)送給Handler,最后Handler根據(jù)接收到的消息去修改UI。Handler的sendMessage方法就是將消息添加到消息隊(duì)列中[4]。Activity中提供了一個runOnUiThread方法,用于進(jìn)行消息處理。此方法是通過線程合并join來實(shí)現(xiàn)消息處理的。線程合并指的是:主線程將子線程的任務(wù)拿到自己這里來執(zhí)行并終止子線程[5]。消息機(jī)制原理圖如圖1所示。

        圖1 消息機(jī)制圖

        4 播放器的需求分析

        4.1 播放軟件的角色分析

        音、視頻播放器最主要的功能就是播放視頻和音頻。在播放音頻時(shí),要考慮它的播放模式,一共可設(shè)置三種播放模式,分別為:隨機(jī)播放、單曲循環(huán)和列表循環(huán)。音頻播放時(shí)需要實(shí)現(xiàn)音量控制功能,在播放時(shí)調(diào)節(jié)音量的大小。此外還要實(shí)現(xiàn)播放和暫停的功能,來提升用戶的體驗(yàn)。最終還需要實(shí)現(xiàn)歌詞顯示功能和播放上一曲/下一曲的功能。系統(tǒng)的用例圖如圖2所示。

        4.2 音視頻播放流程分析

        圖2 系統(tǒng)用例圖

        當(dāng)用戶打開軟件時(shí)首先進(jìn)入的是主界面,當(dāng)進(jìn)入主界面時(shí)默認(rèn)的選擇界面為播放音頻的界面,進(jìn)入該界面時(shí)軟件會自動查找手機(jī)SD卡中的音頻資料,通過這些音頻資料自動生成播放列表。獲取完播放列表之后點(diǎn)擊播放列表上的音頻文件就可以跳轉(zhuǎn)到播放界面,如需退出應(yīng)用時(shí)按手機(jī)上的返回鍵即可。當(dāng)讀取音、視頻出錯,或執(zhí)行點(diǎn)擊播放操作出現(xiàn)錯誤時(shí)會造成程序崩潰的情況。音、視頻播放流程圖如圖3所示。

        4.3 播放軟件的總體功能分析

        音、視頻播放器的主體功能分為音樂播放和視頻播放,音樂播放界面的主要功能包括設(shè)定歌曲的播放模式、獲取音樂播放列表、點(diǎn)擊播放音樂和文件瀏覽。視頻播放器的主要功能為獲取視頻播放列表、點(diǎn)擊播放視頻和文件瀏覽。

        圖3 音視頻播放流程圖

        當(dāng)用戶進(jìn)入音樂播放界面時(shí)要實(shí)現(xiàn)對音樂播放模式的設(shè)定,完善播放列表上所顯示的信息,比如歌曲大小的顯示、歌曲名稱的顯示和歌唱家的顯示;此外還要實(shí)現(xiàn)播放界面的歌詞顯示和上一曲和下一曲的切換,以及增加和刪除歌曲等功能。

        當(dāng)進(jìn)入視頻播放界面時(shí),用戶要完善播放列表上視頻的大小顯示、視頻的名稱顯示,實(shí)現(xiàn)播放界面的快進(jìn)和快退功能以及視頻上一集和下一集的切換,實(shí)現(xiàn)顯示視頻播放的進(jìn)度和進(jìn)度條所顯示的播放位置一致的功能,以及增加視頻和刪除視頻等功能。

        5 軟件的設(shè)計(jì)

        5.1 數(shù)據(jù)庫設(shè)計(jì)

        Android中自帶SQLite數(shù)據(jù)庫,這是一個十分小型的數(shù)據(jù)庫,正適合于Android這種移動平臺使用。SQLite是一個嵌入式數(shù)據(jù)庫引擎,針對內(nèi)存資源有限的設(shè)備SQLiteDatabase專門提供了對應(yīng)于添加(insert)、刪除(delete)、更新(update)、查詢(query)的操作方法[6]。

        這些方法封裝了部分SQL語句,通過參數(shù)進(jìn)行拼接。這些方法實(shí)際上是給那些不太了解SQL語法的開發(fā)者使用的。對于熟悉SQL語法的程序員而言,直接使用execSQL()和rawQuery()方法執(zhí)行SQL語句就能完成數(shù)據(jù)的添加、刪除、更新、查詢操作。

        這四種操作方法主要是在使用內(nèi)容時(shí)使用,因?yàn)閏ontentprovider中提供的增、刪、改、查的方法,與這一套一樣,方便調(diào)用參數(shù)。具體的用法為:

        insert("表名",nullColumnHack,"",contentValue)null,ColumnHack:如果寫 null,就無法插入一條空數(shù)據(jù),如果想插入空數(shù)據(jù),第二個參數(shù)必須寫一個列名(任意列),這個列名是用來拼接sql語句的,如果contentValue為空,則后臺不知道表的列名,無法構(gòu)建sql語句。

        ContentValue為鍵值對,鍵對應(yīng)列名,值對應(yīng)插入的值,返回值longid,插入的主鍵id,delete(“表名”,條件,條件值),返回受影響的行數(shù)。

        update(“表名”,contentValues(更新列、值),條件,條件值),返回受影響的行數(shù)。

        query(“表名”,查詢的字段,條件,條件值)[7]。

        5.2 數(shù)據(jù)庫表設(shè)計(jì)

        Android自帶一個MediaStore封閉類,專門來存儲媒體信息,通過Uri EXTERNAL_CONTENT_URI來訪問SD卡中的歌曲詳細(xì)信息。

        歌曲信息表存放媒體信息,字段包括曲目編號、曲目名字、曲目編碼、流派、歌詞本、歌唱家、曲目文件大小等。

        視頻信息表存放視頻信息,字段包括視頻編號、視頻名字、視頻編碼、視頻制作人、視頻大小、劇集等信息。

        軟件支持用戶通過播放列表來獲取各個音頻或者視頻的詳細(xì)信息,通過播放列表來操作音視頻。

        6 系統(tǒng)測試

        軟件測試就是利用測試工具按照測試方案對應(yīng)用進(jìn)行功能測試和性能測試,發(fā)現(xiàn)程序中存在的問題??梢愿鶕?jù)需要,確定不同的測試方案,設(shè)計(jì)和維護(hù)測試系統(tǒng),并對測試方案可能出現(xiàn)的問題進(jìn)行分析。執(zhí)行測試用例后,需要跟蹤故障,以確保開發(fā)的產(chǎn)品適合需求。軟件測試的過程也是程序功能運(yùn)行的過程。程序運(yùn)行需要數(shù)據(jù),為測試設(shè)計(jì)的數(shù)據(jù)也稱測試用例,其目的是找出軟件可能出現(xiàn)的問題和潛在的錯誤。

        (1)測試工具

        測試工具為Java開發(fā)環(huán)境、安卓SDK和安卓虛擬機(jī)。Java是一種跨平臺應(yīng)用軟件的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。安卓SDK是安卓開發(fā)工具包。安卓虛擬機(jī)是由Google官方出廠,以方便開發(fā)者使用的安卓環(huán)境,方便開發(fā)??梢宰岄_發(fā)者在PC端(電腦上)安裝運(yùn)行模擬Android系統(tǒng)[8]。

        (2)測試結(jié)論

        經(jīng)過測試,系統(tǒng)各模塊之間鏈接正常,各模塊功能都已經(jīng)實(shí)現(xiàn);系統(tǒng)功能完整、穩(wěn)定,性能良好。音、視頻播放器列表界面如圖4所示。播放列表界面是為了讓用戶可以直接在播放器上對音、視頻資源進(jìn)行操作。通過測試,系統(tǒng)達(dá)到了預(yù)期目標(biāo)。

        圖4 播放列表界面圖

        7 結(jié)束語

        軟件采用的開發(fā)工具是Android Studio 2.2.3、Android SDK 7.0,基于Java語言設(shè)計(jì)。系統(tǒng)經(jīng)過了需求分析、設(shè)計(jì)以及測試,在安卓手機(jī)上實(shí)現(xiàn)了播放器的功能且運(yùn)行流暢。經(jīng)用戶的體驗(yàn)證實(shí),該音、視頻播放器操作簡單、使用方便且不占用過多的內(nèi)存。音視頻播放器系統(tǒng)實(shí)現(xiàn)了播放器的基本功能:正常播放音視頻、準(zhǔn)確顯示播放進(jìn)度、調(diào)節(jié)音量、點(diǎn)播上一曲/下一曲、顯示歌詞等。具體的功能經(jīng)過測試都達(dá)到了預(yù)期的效果。

        [1]周雅翠.基于Android平臺的個人事務(wù)管理系統(tǒng)設(shè)計(jì)[J].吉林建筑大學(xué)學(xué)報(bào),2015(6):67-68.Zhou Yacui.Design of Personal Affairs Management System Based on Android Platform[J].Journal of Jilin Architecture And Civil Engineering Institute,2015(6):67-68.

        [2] 鄧昌友,肖遙,馬小月.基于Android智能手機(jī)數(shù)據(jù)安全的研究[J].福建電腦,2015(12):5-6.Deng Changyou,Xiao Yao,Ma Xiaoyue.Research on Data Security of Smart Phone Based on Android[J].Fujian Computer,2015(12):5-6.

        [3] 王毅.Android平臺并行計(jì)算研究[J].電子制作,2015(24):26-27.Wang Yi.Research on Parallel Computing of Android Platform[J].Electronic Production,2015(24):26-27.

        [4] 王冬.基于Android的天氣預(yù)報(bào)軟件的設(shè)計(jì)與實(shí)現(xiàn) [J].電子制作,2015(24):32-33.Wang Dong.Design and Implementation of Weather Forecast Software Based on Android[J].Electronic Production,2015(24):32-33.

        [5] 馬建設(shè),趙雪江,蘇萍,夏飛鵬.基于Android系統(tǒng)的視頻播放器開發(fā)[J].計(jì)算機(jī)應(yīng)用與軟件,2013(11):69-71.Ma Jianshe,Zhao Xuejiang,Su Ping,Xia Feipeng.Development of Video Player Based on Android System[J].Computer Applicationsand Software,2013(11):69-71.

        [6] 吳新華,萬強(qiáng).基于Android平臺的手機(jī)游戲開發(fā)[J].萍鄉(xiāng)學(xué)院學(xué)報(bào),2015(6):66-69.Wu Xinhua,Wan Qiang.Mobile Game Development Based on Android Platform[J].Journal of Pingxiang College,2015(6):66-69.

        [7] YANG Tianchang,CUI Haoliang,NIU Shaozhang.Dynamic Loading Vulnerability Detection for Android Applications Through Ensemble Learning[J].Chinese Journal of Electronics,2017(05):22-23.

        [8] 董濤,李隱峰,范星光.基于Android的移動校園客戶端的研究與實(shí)現(xiàn)[J].電子科技,2014(12):4-5.Dong Tao,Li Yinfeng,Fan Xingguang.Research and Implementation of Mobile Campus Client Based on Android[J].Electronic Scienceand Technology,2014(12):4-5.

        Research and Design of Audio and Video Player Based on Android

        Xu Yanfei,Wu Tiefeng
        (Information Electronic Technology College,Jiamusi University,Jiamusi 154007,China)

        With the development of computer technology,the use of computer technology to improve the needs of people's lives is getting higher and higher.The purpose of audio and video player research is to meet the user's spiritual life needs,which developed a Android-based platform for people to use audio and video player,through the use of players in the mobile terminal,music or video is played,bringing artistic experience to users,as to achieve the purpose of easing the pressure of users.Starting from the significance and purpose of audio and video player development,on the basis of the analysis of player requirements,Java language and Android SDK are used as the development language,and Android Studio is used as the writing tool for the design.The player is divided into two modules:music player and video player.The audio and video player realizes the functions of adjusting the volume,switching the play mode,displaying the lyrics,displaying the last song or the next song,displaying the synchronization of the progress bar and so on.

        Android;music player;video player;open source system;message passing mechanism

        10.3969/j.issn.1002-2279.2017.06.017

        B

        1002-2279-(2017)06-0074-04

        徐艷菲(1996—),女,黑龍江省雙鴨山市人,本科在讀,主研方向:計(jì)算機(jī)應(yīng)用。

        吳鐵峰(1981—),男,江蘇鎮(zhèn)江人,講師,主研方向:軟件工程,javaee網(wǎng)絡(luò)開發(fā),數(shù)據(jù)庫應(yīng)用。

        2017-10-31

        猜你喜歡
        播放器音視頻界面
        國企黨委前置研究的“四個界面”
        Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
        3KB深圳市一禾音視頻科技有限公司
        基于STM32的MP3播放器設(shè)計(jì)
        電子制作(2019年9期)2019-05-30 09:41:44
        Moon ACE播放器/放大器一體機(jī)
        WIFI音視頻信號傳輸?shù)年P(guān)鍵問題探究
        電子制作(2018年12期)2018-08-01 00:48:06
        基于FANUC PICTURE的虛擬軸坐標(biāo)顯示界面開發(fā)方法研究
        高速公路整合移動音視頻系統(tǒng)應(yīng)用
        人機(jī)交互界面發(fā)展趨勢研究
        播放器背板注塑模具設(shè)計(jì)
        中國塑料(2015年8期)2015-10-14 01:10:55
        国产女人高潮视频在线观看| 国产激情视频免费观看| 一区=区三区国产视频| 久草福利国产精品资源| 久久久久亚洲精品无码蜜桃| 麻豆高清免费国产一区| 久久精品国产亚洲婷婷| 成年女人毛片免费视频| 国产哟交泬泬视频在线播放| 一本大道在线一久道一区二区| 综合人妻久久一区二区精品| 青青草国产手机观看视频| 亚洲精品无码久久久影院相关影片| 夜先锋av资源网站| 熟妇人妻中文av无码| 中文字幕成人精品久久不卡| 日本中文字幕一区二区视频| 成人性生交大全免费看| 狠狠综合亚洲综合亚洲色| 亚洲avav天堂av在线网爱情| 男人天堂免费视频| 日本一区二区三区在线视频观看 | 精品人妻伦一二三区久久| 中文字幕精品一二三四五六七八| 欧美成人精品三级在线观看| 国产日韩午夜视频在线观看| 国产一区二区三区涩涩涩| 国产一级一级内射视频| 三年在线观看免费大全下载| 亚洲AV肉丝网站一区二区无码 | 绝顶高潮合集videos| 午夜成人理论无码电影在线播放| 中文字幕人成人乱码亚洲| 久久久黄色大片免费看| а√中文在线资源库| 日韩精品无码久久一区二区三| 人妻丰满熟妇av一区二区 | 中文人妻熟女乱又乱精品| 色欲麻豆国产福利精品| 久久久亚洲精品一区二区| 中文字幕乱码亚洲无限码|