軟件設(shè)計(jì)說明書(音頻播放器畢業(yè)設(shè)計(jì))_第1頁
軟件設(shè)計(jì)說明書(音頻播放器畢業(yè)設(shè)計(jì))_第2頁
軟件設(shè)計(jì)說明書(音頻播放器畢業(yè)設(shè)計(jì))_第3頁
軟件設(shè)計(jì)說明書(音頻播放器畢業(yè)設(shè)計(jì))_第4頁
軟件設(shè)計(jì)說明書(音頻播放器畢業(yè)設(shè)計(jì))_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Android課程設(shè)計(jì)軟件設(shè)計(jì)說明書目錄1引言11.1編寫目的11.2背景說明11.3定義11.4 參考資料12總體設(shè)計(jì)22.2運(yùn)行環(huán)境22.2.1設(shè)備22.2.2支持軟件22.3基本設(shè)計(jì)概念和處理流程22.4結(jié)構(gòu)設(shè)計(jì)42.4.1結(jié)構(gòu)42.4.2功能需求與程序的關(guān)系52.4.3尚未問決的問題62.5接口設(shè)計(jì)62.5.1用戶接口62.5.2外部接口63系統(tǒng)出錯處理設(shè)計(jì)63.1出錯信息63.2補(bǔ)救措施63.3. 系統(tǒng)維護(hù)設(shè)計(jì)74音樂播放器主界面功能實(shí)現(xiàn)74.1程序描述74.2功能74.3算法74.4注釋設(shè)計(jì)114.5測試計(jì)劃125音樂列表設(shè)計(jì)125.1 程序描述125.2 功能125.3 算法12

2、5.4 注釋設(shè)計(jì)135.5 測試計(jì)劃146掃描音樂設(shè)計(jì)146.1 程序描述146.2 功能146.3 算法146.4 注釋設(shè)計(jì)156.5 測試設(shè)計(jì)167 上一曲/下一曲設(shè)計(jì)167.1 程序描述167.2 功能167.3 算法167.4 注釋設(shè)計(jì)187.5 測試設(shè)計(jì)188 播放/暫停設(shè)計(jì)188.1 程序描述188.2 功能188.3 算法188.4 注釋設(shè)計(jì)208.5 測試設(shè)計(jì)209 音量增加/減少設(shè)計(jì)209.1 程序描述209.2 功能209.3 算法209.4 注釋設(shè)計(jì)229.5測試設(shè)計(jì)221引言1.1編寫目的現(xiàn)在社會快速,繁重緊張,音樂欣賞可以使人放松,聽音樂也可以提高人的情操。本項(xiàng)目的目

3、的是開發(fā)一款可以播放音樂文件的音樂播放器,并可以控制暫停,控制播放。音量調(diào)節(jié),關(guān)閉播放器等功能。本軟件適用于各種人。隨著見算計(jì)的廣泛應(yīng)用,手機(jī)市場的迅速發(fā)展,各種音頻視頻資源也在網(wǎng)上廣為流傳。這些資源看似平常,但已經(jīng)漸漸成為人們生火中不可缺少高的一部分了。于是各種手機(jī)播放器也隨著發(fā)展起來了,但是市面上的手機(jī)播放器的軟件大部分是最求外觀花哨,功能龐大。這樣雖然好但是對手機(jī)資源造成的很大的浪費(fèi),比如CPU,內(nèi)存使用過高。在用戶需要多操作時(shí)受到不小的影響,帶來了許多不便,許多功能上形同虛設(shè)!我認(rèn)為術(shù)業(yè)有專攻,做音樂播放器,就要最好音樂部分。針對以上弊端,選擇開發(fā)界面簡單模塊化的,功能明確,方便實(shí)用,

4、不占內(nèi)存。1.2背景說明 文中所介紹的視頻播放器是基于安卓手機(jī)平臺開發(fā)的一款多功能的播放器,實(shí)現(xiàn)了基本的播放,快進(jìn)快退停止視頻調(diào)節(jié)音量的功能,用戶可以自由拖動那個(gè)進(jìn)度條,調(diào)節(jié)屏幕縮放比列,設(shè)置屏幕背景,設(shè)置視頻播放模式。任外還有任意級目錄,播放列表有縮略圖,并且能夠排序,最重要的是該播放器還實(shí)現(xiàn)了查看天氣預(yù)報(bào)的功能。1.3定義Android SDK(SoftwareDevelopmentKit) 軟件開發(fā)工具包1.4 參考資料 Android一詞的本義指“機(jī)器人”,同時(shí)也是Google于2007年11月5日宣布的基于Linux平臺的開源手機(jī)操作系統(tǒng)的名稱,該平臺由操作系統(tǒng)、中間件、用戶界面和應(yīng)

5、用軟件組成,號稱是首個(gè)為移動終端打造的真正開放和完整的移動軟件。 Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),早期由Google開發(fā)(在華注冊商標(biāo)名為“安致”),后由開放手機(jī)聯(lián)盟(Open Handset Alliance)開發(fā)。它采用了軟件堆層(software stack,又名以軟件疊層)的架構(gòu),主要分為三部分。低層以Linux內(nèi)核工作為基礎(chǔ),只提供基本功能;其他的應(yīng)用軟件則由各公司自行開發(fā),以Java作為編寫程序的一部分。另外,為了推廣此技術(shù),Google和其它幾十個(gè)手機(jī)公司建立了開放手機(jī)聯(lián)盟。Android在未公開之前常被傳聞為Goo

6、gle電話或gPhone。大多傳聞?wù)J為Google開發(fā)的是自己的手機(jī)電話產(chǎn)品,而不是一套軟件平臺。到了2013年11月,Google開始發(fā)表自家品牌手機(jī)電話的Nexus One。目前最新SDK版本為Android 4.4。2總體設(shè)計(jì)2.1需求規(guī)定 功能需求定義了開發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了用戶的業(yè)務(wù)需求。用戶需求文檔描述了用戶使用產(chǎn)品必須要完成的任務(wù)。針對音樂播放器分別對音樂播放、在線音樂播放及會員特權(quán)的換膚等功能進(jìn)行詳細(xì)的調(diào)研和分析,總結(jié)出如下的用戶需求信息。(1) 界面美觀 簡潔。(2) 運(yùn)行方便,操作簡單。(3) 經(jīng)濟(jì)適用,功能充實(shí)

7、。2.2運(yùn)行環(huán)境2.2.1設(shè)備(1) 支持Android 1.6版本以上的安卓系統(tǒng)手機(jī)。(2) 支持屏幕任何尺寸的安卓手機(jī)。(3) 支持安卓模擬器運(yùn)行。2.2.2支持軟件(1) 支持安卓操作系統(tǒng)軟件。(2) 支持裝有安卓模擬器的windows操作系統(tǒng)。(3) 支持安卓模擬器2.3基本設(shè)計(jì)概念和處理流程功能用例圖如下: 圖 2-3 功能用例圖 表3-1 播放用例用例名稱:播放參與者:用戶目標(biāo):用戶點(diǎn)擊播放音樂列表中的歌曲前置條件:播放器正在運(yùn)行基本事件流:1.用戶單擊列表中歌曲 2.播放器將播放列表中的點(diǎn)擊的歌曲 表3-2 暫停用例 用例名稱:暫停參與者:用戶目標(biāo):使得用戶可以暫停正在播放的歌曲

8、前置條件:歌曲正在播放且未停止和暫?;臼录鳎?.用戶單擊“暫停”按鈕 2.播放器將暫停當(dāng)前的歌曲 表3-4 上一首/下一首用例用例名稱:上一首/下一首參與者:用戶目標(biāo):使得用戶可以點(diǎn)播上一首或下一首音樂前置條件:歌曲正在播放或歌曲暫停中基本事件流:1.用戶單擊“上一首或下一首”按鈕 2.播放器將播放上一首歌曲或下一首歌曲 表3-5 音樂列表用例用例名稱:音樂列表參與者:用戶目標(biāo):使得用戶可以進(jìn)入音樂列表前置條件:程序在運(yùn)行基本事件流:1.用戶單擊“音樂”分區(qū) 2.播放器進(jìn)入音樂列表2.4結(jié)構(gòu)設(shè)計(jì)2.4.1結(jié)構(gòu)程序流程圖如下: 圖2-4-1 系統(tǒng)流程圖 表2-4-1 功能關(guān)系表功能類別子功能

9、子功能音樂列表播放列表菜單退出播放關(guān)于音樂列表點(diǎn)擊播放->進(jìn)入播放界面播放界面播放播放歌曲->線程啟動->時(shí)間更新暫停暫停歌曲->線程暫停->時(shí)間暫停初曲尋找音樂列表第一首歌曲終曲尋找音樂列表最后一首歌曲上一首尋找當(dāng)前播放的上一ID歌曲下一首尋找當(dāng)前播放下一ID歌曲主菜單退出程序程序退出關(guān)于版權(quán)信息表2-4-2音樂列表用例用例名稱:音樂列表參與者:用戶目標(biāo):使得音樂列表顯示歌曲名稱,右邊顯示時(shí)間長度前置條件:播放器在主界面基本事件流:1.用戶單擊主界面上音樂模塊 2.音樂列表顯示以音樂排列的列表2.4.2功能需求與程序的關(guān)系 表2-4-2 功能關(guān)系表功能類別子功能

10、子功能音樂列表播放列表菜單退出播放關(guān)于音樂列表點(diǎn)擊播放->進(jìn)入播放界面播放界面播放播放歌曲->線程啟動->時(shí)間更新暫停暫停歌曲->線程暫停->時(shí)間暫停初曲尋找音樂列表第一首歌曲終曲尋找音樂列表最后一首歌曲上一首尋找當(dāng)前播放的上一ID歌曲下一首尋找當(dāng)前播放下一ID歌曲主菜單退出程序程序退出關(guān)于版權(quán)信息2.4.3尚未問決的問題功能不是很完善,不能實(shí)現(xiàn)歌詞功能,文件必須是在SD卡中MYmusic文件下才能播放。2.5接口設(shè)計(jì)2.5.1用戶接口 觸摸結(jié)構(gòu),當(dāng)用戶觸摸屏幕上的按鈕,按鈕就開始工作。2.5.2外部接口(1) 軟件接口:操作系統(tǒng):Windows xp&

11、#160;支持環(huán)境:Android 2.1版本 開發(fā)環(huán)境:Eclipse 3.5 ADT 0.9(2) 硬件接口:支持USB 2.0。3系統(tǒng)出錯處理設(shè)計(jì)3.1出錯信息出錯提示原因解決方法程序運(yùn)行停止手機(jī)內(nèi)存不足或程序被中斷重啟應(yīng)用手機(jī)內(nèi)存不足手機(jī)內(nèi)存不足清理手機(jī)內(nèi)存找不到SD卡沒有文件路徑裝載SD卡,重啟音樂不能播放文件損壞或播放路徑不對將音樂文件放在指定文件夾中3.2補(bǔ)救措施說明故障出現(xiàn)后可能采取的變通措施,包括:1. 程序運(yùn)行停止: 解決辦法: 重啟應(yīng)用 2. 手機(jī)內(nèi)存不足: 解決辦法:清理手機(jī)內(nèi)存 3. 找不到SD卡: 解決辦法:裝載SD

12、卡,重啟 4. 音樂不能播放: 解決辦法:將音樂文件放在指定文件夾中3.3. 系統(tǒng)維護(hù)設(shè)計(jì)為了系統(tǒng)維護(hù)的方便而在程序內(nèi)部設(shè)計(jì)中作出了安排,本軟件是音樂播放軟件,與手機(jī)內(nèi)存相關(guān)聯(lián)。在維護(hù)上只涉及到音樂跟新問題,還有主題界面的更換。由于與手機(jī)內(nèi)存相關(guān)聯(lián),所以在維護(hù)上不必花費(fèi)太多資源。4音樂播放器主界面功能實(shí)現(xiàn)4.1程序描述 設(shè)計(jì)程序主界面,增加主界面的美觀,以及和用戶之間的交互性。通過UI設(shè)計(jì)UML文件設(shè)計(jì),使用控件布局,代碼相結(jié)合。完美設(shè)計(jì)出主界面。4.2功能 主界面明確了當(dāng),直接的顯示出可操作的按鈕。讓用戶更加簡單,使用本軟件。4.3算法 界面如下: 圖5-3-1 主界面Uml 布局代碼如下&

13、lt;?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:gravity="fill" android:background="#000000&q

14、uot;> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="hor

15、izontal" android:layout_weight="80" > <ListView android:id="+id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#E61344" android:layout_weight="25" android:layout_marginBottom=&quo

16、t;2dp" > </ListView> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:layout_weight="75" /> <Button android:id="+id/liebiao1" android:layout_width="

17、;fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="drawable/liebiao" android:layout_marginLeft="2dp" android:layout_marginBottom="2dp" /> <Button android:id="+id/zengyin1" android:layo

18、ut_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="drawable/jiayin" android:layout_marginLeft="2dp" android:layout_marginBottom="2dp" /> <Button android:id="+id/jianyin1"

19、 android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="drawable/jianyin" android:layout_marginLeft="2dp" android:layout_marginBottom="2dp" /> <Button android:id="+id/

20、guanji" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" android:background="drawable/guanji" android:layout_marginLeft="2dp" android:layout_marginBottom="2dp"/> </LinearLayout>

21、</LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="5" > <Button android:id="+id/bofang" android:layout_width="wrap_content

22、" android:layout_height="wrap_content" android:layout_weight="1" android:background="drawable/bofang" android:layout_marginRight="1dp" android:layout_marginBottom="2dp"/> <Button android:id="+id/zanting" android:layout_width=&quo

23、t;wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="drawable/zanting" android:layout_marginLeft="1dp" android:layout_marginBottom="2dp"/> </LinearLayout> <LinearLayout android:layout_wid

24、th="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_weight="5" > <Button android:id="+id/shangyiqu" android:layout_width="wrap_content" android:layout_height="wrap_content"

25、android:layout_weight="1" android:background="drawable/shangyiqu" android:layout_marginRight="1dp" /> <Button android:id="+id/xiayiqu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight=&quo

26、t;1" android:background="drawable/xiyishou" android:layout_marginLeft="1dp"/> </LinearLayout> </LinearLayout></LinearLayout>Java代碼如下protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.main3);4.4注釋

27、設(shè)計(jì)1. 加在模塊首部的注釋::主界面的設(shè)計(jì)2. 加在各分枝點(diǎn)處的注釋:增音控件按鈕,減音按鈕,下一曲按鈕,上一曲按鈕,播放暫停按鈕。4.5測試計(jì)劃 運(yùn)行程序,顯示如果和圖5-3-1一樣,說明界面設(shè)計(jì)合理,不一樣說明界面設(shè)計(jì)不合理5音樂列表設(shè)計(jì)5.1 程序描述播放列表中存放音樂文件名字,點(diǎn)擊文件名字,即可播放音樂,列表存放的方式是數(shù)列模式。5.2 功能播放列表有存放音樂文件,點(diǎn)擊音樂文,即可播放。5.3 算法 UML代碼: <ListView android:id="+id/list" android:layout_width="fill_parent&qu

28、ot; android:layout_height="fill_parent" android:background="#E61344" android:layout_weight="25" android:layout_marginBottom="2dp" > </ListView>Java代碼:private List<String> audioList = new ArrayList<String>(); / 要播放的音頻列表SuppressLint("Sd

29、CardPath")private void audioList() getFiles("/sdcard/"); / 獲取SD卡上的全部音頻文件ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, audioList); / 創(chuàng)建一個(gè)適配器ListView listview = (ListView) findViewById(R.id.list); / 獲取布局管理器中添加的ListView組件lis

30、tview.setAdapter(adapter); / 將適配器與ListView關(guān)聯(lián)/ 當(dāng)單擊列表項(xiàng)時(shí)播放音樂listview.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView<?> listView, View view,int position, long id) currentItem = position; / 將當(dāng)前列表項(xiàng)的索引值賦值給currentItemplayMusic(MUSIC_PATH+audioList.get(curr

31、entItem); / 調(diào)用playMusic()方法播放音樂);5.4 注釋設(shè)計(jì) 要播放的音頻列表 獲取SD卡上的全部音頻文件 將適配器與ListView關(guān)聯(lián) 當(dāng)單擊列表項(xiàng)時(shí)播放音樂 將當(dāng)前列表項(xiàng)的索引值賦值給currentItem 調(diào)用playMusic()方法播放音樂5.5 測試計(jì)劃 運(yùn)行程序,掃描音樂,點(diǎn)擊列表文件,聽音樂,是否有音樂播放。6掃描音樂設(shè)計(jì)6.1 程序描述 本段程序是將SD卡上的音樂文件,進(jìn)行掃描,并將文件加載到播放列表中。6.2 功能 點(diǎn)擊掃描音樂按鈕,進(jìn)行音樂文件掃描,掃描SD卡上的所有MP3格式的音樂文件。將掃描后的音樂文件加載到播放列表中。6.3 算法UML 代碼

32、:<Button android:id="+id/bofang" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="drawable/bofang" android:layout_marginRight="1dp" android:layout_marginBottom="2

33、dp"/>Java 代碼:private void getFiles(String url) File files = new File(url); / 創(chuàng)建文件對象File file = files.listFiles();try for (File f : file) / 通過for循環(huán)遍歷獲取到的文件數(shù)組if (f.isDirectory() / 如果是目錄,也就是文件夾getFiles(f.getAbsolutePath(); / 遞歸調(diào)用 else if (isAudioFile(f.getName() / 如果是音頻文件audioList.add(f.getName

34、(); / 將文件的路徑添加到list集合中 catch (Exception e) e.printStackTrace(); / 輸出異常信息private static String imageFormatSet = new String ".mp3" ; / 合法的音頻文件格式/ 判斷是否為音頻文件private static boolean isAudioFile(String path) for (String format : imageFormatSet) / 遍歷數(shù)組if (path.contains(format) / 判斷是否為有合法的音頻文件retur

35、n true;return false;6.4 注釋設(shè)計(jì) 創(chuàng)建文件對象 通過for循環(huán)遍歷獲取到的文件數(shù)組 如果是音頻文件 將文件的路徑添加到list集合中 合法的音頻文件格式 判斷是否為音頻文件6.5 測試設(shè)計(jì) 運(yùn)行程序,當(dāng)成點(diǎn)擊掃描音樂按鈕,等待程序掃描,判斷是否有音樂文件在列表中。如果有,說明本段程序?qū)嵱?。否則則不適用,需要再次設(shè)計(jì)。7 上一曲/下一曲設(shè)計(jì) 7.1 程序描述本段程序?qū)崿F(xiàn)音樂上一曲下一曲的播放,當(dāng)點(diǎn)擊上一曲或下一曲的時(shí)候,播放器會對播放列表的文件進(jìn)行上一曲或下一曲的播放。 7.2 功能當(dāng)點(diǎn)擊上一曲或下一曲的時(shí)候,播放器會對播放列表的文件進(jìn)行上一曲或下一曲的播放。 7.3 算

36、法 UML 代碼: <Button android:id="+id/shangyiqu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="drawable/shangyiqu" android:layout_marginRight="1dp" /> <Button and

37、roid:id="+id/xiayiqu" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:background="drawable/xiyishou" android:layout_marginLeft="1dp"/> Java 代碼: / 下一首void nextMusic() if (+current

38、Item >= audioList.size() / 當(dāng)對currentItem進(jìn)行+1操作后,如果其值大于等于音頻文件的總數(shù)currentItem = 0;playMusic(MUSIC_PATH+audioList.get(currentItem); / 調(diào)用playMusic()方法播放音樂/ 上一首void preMusic() if (-currentItem >= 0) / 當(dāng)對currentItem進(jìn)行-1操作后,如果其值大于等于0if (currentItem >= audioList.size() / 如果currentItem的值大于等于音頻文件的總數(shù)cu

39、rrentItem = 0; else currentItem = audioList.size() - 1; / currentItem的值設(shè)置為音頻文件總數(shù)-1playMusic(MUSIC_PATH+audioList.get(currentItem); / 調(diào)用playMusic()方法播放音樂 7.4 注釋設(shè)計(jì) 下一首 上一首 當(dāng)對currentItem進(jìn)行+1操作后,如果其值大于等于音頻文件的總數(shù) 調(diào)用playMusic()方法播放音樂 7.5 測試設(shè)計(jì) 采用黑盒測試,當(dāng)運(yùn)行程序后,掃描文件后,并放音樂后,點(diǎn)擊上一曲,判斷音樂是否能進(jìn)行下一曲,能行說明程序功能合適,再次進(jìn)行下一曲測

40、試。8 播放/暫停設(shè)計(jì) 8.1 程序描述本段程序?qū)崿F(xiàn)了播放音樂和暫停音樂的功能,當(dāng)點(diǎn)擊音樂播放/暫停按鈕的候,點(diǎn)擊一下,音樂會播放,再點(diǎn)擊以下,音樂會暫停。 8.2 功能 當(dāng)點(diǎn)擊音樂播放/暫停按鈕的候,點(diǎn)擊一下,音樂會播放,再點(diǎn)擊以下,音樂會暫停。 8.3 算法UML 代碼: <Button android:id="+id/zanting" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight=

41、"1" android:background="drawable/zanting" android:layout_marginLeft="1dp" android:layout_marginBottom="2dp"/> Java 代碼: pause.setOnClickListener(new OnClickListener() Overridepublic void onClick(View v) if (mediaPlayer.isPlaying() mediaPlayer.pause(); / 暫停視頻

42、的播放(Button) v).setText("繼續(xù)"); else mediaPlayer.start();/繼續(xù)播放(Button) v).setText("暫停"););/ 播放音樂void playMusic(String Path) try if (mediaPlayer.isPlaying() mediaPlayer.stop(); / 停止當(dāng)前音頻的播放mediaPlayer.reset(); / 重置MediaPlayermediaPlayer.setDataSource(Path); / 指定要播放的音頻文件mediaPlayer.prepare(); / 預(yù)加載音頻文件mediaPlayer.start(); / 播放音頻pause.setText("暫停");pause.setEnabled(true); / 設(shè)置“暫?!卑粹o可用 catch (Exception e) e.printStackTrace(); 8.4 注釋設(shè)計(jì) 播放音樂 重置MediaPlayer 指定要播放的音頻文件 預(yù)加載音頻文件 設(shè)置“暫?!卑粹o可用8.5 測試設(shè)計(jì) 黑盒測試,當(dāng)運(yùn)行程序后,點(diǎn)擊音樂文件播放,當(dāng)點(diǎn)擊暫停按鈕的時(shí)候,看音樂是否暫停,當(dāng)點(diǎn)擊播放按

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論