《Linux C從入門到精通(第2版)》從初學者的角度出發,通過通俗易懂的語言,豐富多彩的實例,詳細介紹了在Linux系統下使用C 語言進行應用程序開發應該掌握的各方面技術。全書共20章,包括Linux系統概述、C語言基礎、內存管理、基本編輯器VIM和Emacs、GCC編譯器、GDB調試工具、進程控制、進程間通信、文件操作、文件的輸入/輸出操作、信號及信號處理、網絡編程、make編譯基礎、Linux系統下的C 語言與數據庫、集成開發環境、界面開發基礎、界面布局、界面構件開發、Glade設計程序界面、MP3 音樂播放器。
軟件開發視頻大講堂叢書是清華社計算機專業基礎類零售圖書*暢銷的品牌之一。
叢書累計銷售180多萬冊,深受廣大開發者喜愛。
4本榮獲全行業優暢銷書獎,1本榮獲清華社專業暢銷書一等獎。
絕大多數品種在全國計算機零售圖書排行榜同品種排行中名列前茅。
實用、易懂、資源豐富,被 數百所高校選為專業課教材。
本書推薦:
1. 循序漸進,實戰講述:基礎知識核心技術高級應用項目實戰,符合認知規律。
2. 71個精彩案例 83集高清微視頻 1個項目案例,邊學邊練,在實踐中提升技能。
3. 超值贈送140小時Visual C 在線課程,6大類庫資源,助力你夯實基礎,精準,有效,速練,練就轉崗就業不敗之力。
(1)實例資源庫 源碼資源庫:1200個實例及源碼詳細分析,多練實例,多讀源碼,是快速學習之道。
(2)模塊資源庫:15個經典模塊開發過程完整展現,拿來改改就能用。
(3)項目資源庫:15個企業項目開發過程的完整展現,幫助你反復練習,觸類旁通。
(4)面試資源庫:371個企業面試真題及面試技巧,幫你進行職業規劃,轉崗就業不用愁。
(5)測試題庫系統:616道能力測試題目,由易及難,快速判斷自己的真實水平,熟能生巧。
前 言
叢書說明:軟件開發視頻大講堂叢書(第1版)于2008年8月出版,因其編寫細膩,易學實用,配備全程視頻等特色,在軟件開發類圖書市場上產生了很大反響,絕大部分品種在全國軟件開發零售圖書排行榜中名列前茅,2009年多個品種被評為全國優秀暢銷書。
軟件開發視頻大講堂叢書(第2版)于2010年8月出版,出版后,絕大部分品種在全國軟件開發類零售圖書排行榜中依然名列前茅。叢書中多個品種被百余所高校計算機相關專業、軟件學院選為教學參考書,在眾多的軟件開發類圖書中成為最耀眼的品牌之一。叢書累計銷售40多萬冊。
軟件開發視頻大講堂叢書(第3版)于2012年8月出版,根據讀者需要,增刪了品種,重新錄制了視頻,提供了從入門學習實例應用模塊開發項目開發能力測試面試等各個階段的海量開發資源庫。因叢書編寫結構合理、實例選擇經典實用,叢書迄今累計銷售90多萬冊。
軟件開發視頻大講堂叢書(第4版)在繼承前3版所有優點的基礎上,修正了前3版圖書中發現的疏漏之處,并結合目前市場需要,進一步對叢書品種進行了完善,對相關內容進行了更新優化,使之更適合讀者學習,為了方便教學,還提供了教學課件PPT。
Linux系統是一種類UNIX完整的操作系統。它不僅功能強大、運行穩定,而且用戶可免費使用、分析其源代碼。而C語言是一種計算機程序設計語言,它既有高級語言的特性,又具有匯編語言的特性,可以編寫系統應用程序。而整個Linux系統就是由C語言編寫的,因此在Linux系統下學習C語言,更接近C語言的本質,體會更為深刻。
本書內容
本書提供了從入門到編程高手所必備的各類知識,共分4篇,大體結構如下圖所示。
第1篇:基礎知識。本篇通過介紹Linux系統概述、C語言基礎、內存管理、基本編輯器VIM和Emacs、GCC編譯器、GDB調試工具等內容,并結合書中豐富的圖示、實例、經典的范例、錄像等幫助讀者快速掌握C語言,并為學習以后的知識奠定堅實的基礎。
第2篇:核心技術。本篇主要介紹了進程控制、進程間通信、文件操作、文件的輸入/輸出操作、信號及信號處理、網絡編程、make編譯基礎、Linux系統下的C語言與數據庫、集成開發環境等內容,通過這一部分的學習,可以幫助讀者在Linux系統下學習C語言得到進一步的提升,體會到C語言編程的本質所在。書中結合豐富的圖示、實例、經典的范例和錄像等,幫助讀者更輕松地掌握Linux系
統下C語言編程的核心技術。
第3篇:高級應用。本篇主要介紹了界面開發基礎、界面布局、界面構件開發、Glade設計程序界面等Linux系統下的圖像界面編程的高級應用,通過這一部分的學習,讀者能夠進一步了解Linux系統中圖形界面的豐富應用。
第4篇:項目實戰。本篇通過開發一個大型、完整的MP3音樂播放器,運用軟件工程的設計思想,讓讀者學習如何進行軟件項目的實踐開發。書中按照編寫背景需求分析主窗口設計建立子構件各功能函數的實現過程進行介紹,帶領讀者一步一步親身體驗開發項目的全過程。
本書特點
?由淺入深,循序漸進:本書以初、中級程序員為對象,先從C語言基礎學起,再學習C語言的核心技術,然后學習C語言的高級應用,最后學習開發一個完整項目。結合Linux原理講解C語言開發,為Linux環境下的C語言開發提供從入門到精通的捷徑。本書講解過程中步驟詳盡、版式新穎,在操作的內容圖片上以編號 內容的方式進行標注,讓讀者在閱讀中一目了然,從而快速把握書中內容。
?語音視頻,講解詳盡:對于初學者來說,視頻講解是最好的導師,它能夠引導初學者快速入門,使初學者感受到編程的快樂和成就感,進一步增強學習的信心。鑒于此,本書為大部分章節都配備了視頻講解,使用手機掃描正文小節標題一側的二維碼,即可在線學習程序開發的全過程。
?實例典型,輕松易學:通過例子學習是最好的學習方式,本書通過一個知識點、一個例子、一個結果、一段評析、一個綜合應用的模式,透徹詳盡地講述了實際開發中所需的各類知識。
書中還增加了很多接近生活、易于理解的經典范例,使讀者能夠從枯燥的編程中找到在生活中的趣味應用。
?精彩欄目,貼心提醒:本書根據需要在各章使用了很多注意說明等小欄目,讓讀者可以在學習過程中更輕松地理解相關知識點及概念,并輕松地掌握個別技術的應用技巧。
?應用實踐,隨時練習:書中幾乎每章都提供了實踐與練習,讓讀者能夠通過對問題的解答重新回顧、熟悉所學的知識,舉一反三,為進一步學習做好充分的準備。
讀者對象
?初學編程的自學者?編程愛好者
?大中專院校的老師和學生?相關培訓機構的老師和學員
?做畢業設計的學生?初、中級程序開發人員
?程序測試及維護人員?參加實習的菜鳥程序員
致讀者
本書由明日科技C程序開發團隊組織編寫,主要編寫人員有李菁菁、王小科、王國輝、賽奎春、張鑫、楊麗、高春艷、辛洪郁、周佳星、申小琦、馮春龍、白宏健、何平、張寶華、張云凱、龐鳳、申野、宋萬勇、賈景波、趙寧、李磊、王赫男、葛忠月、劉杰、張渤洋、喬宇、卞昉、汪倩、譚暢、劉媛媛、梁英、隋妍妍、李雪、李穎、鐘成浩、朱艷紅、孫勃、潘建羽、岳彩龍、李春林、林馳、白兆松、依瑩瑩、王歡、胡冬、宋禹蒙等。在編寫本書的過程中,我們以科學、嚴謹的態度,力求精益求精,但錯誤、疏漏之處在所難免,敬請廣大讀者批評指正。
感謝您購買本書,希望本書能成為您編程路上的領航者。
零門檻編程,一切皆有可能。祝讀書快樂!
編 者
明日科技,是一個擁有軟件開發和項目實施方面的資深專家和學習型技術團隊,利用積累的專業知識和經驗,已開發出版了從入門到精通軟件開發實戰1200例軟件開發實戰寶典軟件項目開發全程實錄等系列叢書,是國內暢銷的編程圖書品牌。
目 錄
第1 篇 基 礎 知 識
第1 章 Linux 系統概述 2
視頻講解:12 分鐘
1.1 Linux 的起源與發展 3
1.1.1 GNU 項目的前前后后 3
1.1.2 Linux 的誕生 . 3
1.1.3 Linux 的現狀 . 4
1.2 Linux 的內核與版本 4
1.2.1 Linux 內核的介紹 . 4
1.2.2 Linux 對硬件平臺的支持 . 5
1.2.3 常見Linux 的發行版本 5
1.3 Linux 系統的安裝 5
1.3.1 Linux 系統安裝的硬件要求 . 6
1.3.2 圖形化安裝Linux . 6
1.3.3 第一次啟動Linux 系統 11
1.4 小結 13
第2 章 C 語言基礎 14
視頻講解:35 分鐘
2.1 C 語言概述 . 15
2.2 數據類型 15
2.2.1 基本類型 16
2.2.2 構造類型 18
2.2.3 指針類型 20
2.2.4 空類型 21
2.3 運算符和表達式 21
2.3.1 運算符 21
2.3.2 表達式 23
2.4 函數 23
2.5 程序語句 25
2.5.1 控制語句 26
2.5.2 函數調用語句 26
2.5.3 表達式語句 27
2.5.4 空語句 27
2.5.5 復合語句 27
2.6 預處理命令 27
2.6.1 宏定義 28
2.6.2 文件包含 29
2.7 小結 29
2.8 實踐與練習 29
第3 章 內存管理 30
視頻講解:15 分鐘
3.1 內存分類 31
3.1.1 動態內存 31
3.1.2 靜態內存 31
3.1.3 動態內存與靜態內存的區別 32
3.2 內存管理的基本操作 32
3.2.1 分配內存 32
3.2.2 釋放內存 35
3.3 鏈表 35
3.4 小結 37
3.5 實踐與練習 37
第4 章 基本編輯器VIM 和Emacs . 38
視頻講解:12 分鐘
4.1 初識VIM . 39
4.1.1 VIM 的進入與退出 . 39
4.1.2 VIM 基本模式 . 39
4.2 VIM 的基本操作 . 40
4.2.1 VIM 的命令行模式操作 . 40
4.2.2 VIM 的編輯模式操作 . 42
4.2.3 VIM 的底行模式操作 . 42
4.3 初識Emacs . 43
4.4 Emacs 的基本操作 . 43
4.4.1 啟動Emacs 43
4.4.2 基本操作 44
4.5 小結 46
第5 章 GCC 編譯器 47
視頻講解:27 分鐘
5.1 初識GCC 編譯器 48
5.1.1 第一次編譯 48
5.1.2 GCC 選項概述 48
5.1.3 警告 . 49
5.1.4 GCC 調試 50
5.1.5 代碼優化 52
5.2 GCC 編譯的基本流程 . 53
5.2.1 C 預處理 54
5.2.2 編譯 . 54
5.2.3 匯編 . 54
5.2.4 鏈接 54
5.3 其他編譯工具簡介 54
5.3.1 C 編譯器G . 55
5.3.2 EGCS 55
5.3.3 F2C 和P2C 55
5.4 小結 55
第6 章 GDB 調試工具 . 56
視頻講解:31 分鐘
6.1 初識GDB 調試器 57
6.1.1 GDB 調試器概述 . 57
6.1.2 用GDB 調試簡單程序 58
6.2 GDB 調試器的基本功能與常用命令 . 59
6.2.1 啟動調試程序功能及其命令 60
6.2.2 使用斷點功能及其命令 61
6.2.3 檢查數據的功能及其命令 63
6.2.4 使用觀察窗口功能及其命令 66
6.2.5 檢查棧信息功能及其命令 66
6.2.6 檢查源代碼功能及其命令 67
6.2.7 改變程序的運行功能及其命令 69
6.3 多線程程序調試 70
6.4 Linux 平臺上的其他調試工具 71
6.5 小結 71
第2 篇 核 心 技 術
第7 章 進程控制 74
視頻講解:57 分鐘
7.1 進程概述 75
7.1.1 進程的定義 75
7.1.2 進程的相關信息 76
7.2 進程的基本操作 77
7.2.1 進程創建 77
7.2.2 進程等待 83
7.2.3 進程結束 87
7.3 多個進程間的關系 89
7.3.1 進程組 89
7.3.2 時間片的分配 90
7.4 線程 91
7.4.1 線程概述 92
7.4.2 線程的屬性 92
7.5 進程的特殊操作 94
7.5.1 獲取進程標識 94
7.5.2 設置進程標識 98
7.6 小結 99
7.7 實踐與練習 99
第8 章 進程間通信 100
視頻講解:41 分鐘
8.1 進程間通信概述 101
8.1.1 進程間通信的工作原理 .101
8.1.2 進程間通信的主要分類 .101
8.2 管道與命名管道 101
8.2.1 管道基本定義 .102
8.2.2 管道創建和管道關閉 .102
8.2.3 pipe()函數實現管道通信 .102
8.2.4 命名管道基本定義 .105
8.2.5 在Shell 中創建命名管道 .105
8.2.6 mkfifo()函數創建命名管道 .106
8.3 共享內存 108
8.3.1 SYSV 子系統的基本知識 108
8.3.2 共享內存相關操作 .109
8.3.3 共享內存實現進程間通信 .112
8.4 信號量 114
8.4.1 信號量的工作原理 .114
8.4.2 信號量的相關操作 .115
8.4.3 信號量實現進程間通信 .117
8.5 消息隊列 119
8.5.1 消息隊列的相關操作 .120
8.5.2 消息隊列實現進程間通信 .122
8.6 小結 124
8.7 實踐與練習 124
第9 章 文件操作 125
視頻講解:37 分鐘
9.1 文件初探 126
9.1.1 文件與文件系統的概念 .126
9.1.2 文件的屬性 .126
9.1.3 文件的相關信息 .127
9.2 文件的相關操作 128
9.2.1 修改文件屬性 .129
9.2.2 復制文件描述符 .132
9.2.3 獲取文件信息 .133
9.2.4 文件的其他操作 .134
9.3 特殊文件的操作 135
9.3.1 目錄文件的操作 .135
9.3.2 鏈接文件的操作 .139
9.3.3 設備文件 142
9.4 小結 142
9.5 實踐與練習 143
第10 章 文件的輸入/輸出操作 . 144
視頻講解:30 分鐘
10.1 文件I/O 操作概述 . 145
10.1.1 文件描述符簡介 145
10.1.2 數據流概述 145
10.2 基于文件描述符的I/O 操作 . 146
10.2.1 文件的打開與關閉 146
10.2.2 文件的讀寫操作 148
10.2.3 文件的定位 149
10.3 基于數據流的I/O 操作 . 152
10.3.1 文件的打開與關閉 152
10.3.2 字符輸入/輸出 . 153
10.3.3 字符串輸入/輸出 . 156
10.3.4 數據塊輸入/輸出 . 157
10.3.5 格式化輸入/輸出 . 157
10.3.6 操作讀寫位置的函數 159
10.3.7 C 標準庫的I/O 緩沖區 . 161
10.4 小結 163
10.5 實踐與練習 163
第11 章 信號及信號處理 . 164
視頻講解:23 分鐘
11.1 信號概述 165
11.1.1 在終端中查看常見的信號 165
11.1.2 信號處理 165
11.2 產生信號 166
11.2.1 kill()函數 166
11.2.2 raise()函數 167
11.2.3 alarm()函數 167
11.3 捕捉信號 167
11.3.1 signal()函數 168
11.3.2 sigaction()函數 . 170
11.4 信號的阻塞 171
11.4.1 sigprocmask()函數 . 172
11.4.2 sigsuspend()函數 172
11.4.3 sigpending()函數.172
11.5 信號處理的安全問題 174
11.6 小結 175
11.7 實踐與練習 175
第12 章 網絡編程 176
視頻講解:30 分鐘
12.1 網絡編程的基本原理 177
12.1.1 計算機網絡 .177
12.1.2 TCP/IP 協議 178
12.1.3 IP 地址簡介 178
12.1.4 套接字編程原理 .181
12.2 TCP 套接字編程 186
12.3 UDP 套接字編程 . 189
12.3.1 數據傳輸系統調用 .190
12.3.2 基于UDP 協議的C/S 機制的網絡通信的工
作原理 .191
12.3.3 基于UDP 的簡單網絡通信實例 .191
12.4 原始套接字編程 194
12.4.1 原始套接字定義 .195
12.4.2 原始套接字系統調用 .195
12.4.3 原始套接字的發送與接收 .196
12.4.4 報文處理 .196
12.5 小結 199
12.6 實踐與練習 199
第13 章 make 編譯基礎 200
視頻講解:1 小時54 分鐘
13.1 通過實例認識make . 201
13.1.1 Makefile 的導入 .201
13.1.2 make 是如何工作的 .205
13.1.3 Makefile 中使用變量 .206
13.1.4 讓make 自動推導 207
13.1.5 清空目標文件的規則 .208
13.2 make 概述 . 208
13.2.1 Makefile 中有什么 .208
13.2.2 Makefile 的文件名 .209
13.2.3 包含其他Makefile 文件 209
13.2.4 變量MAKEFILES .211
13.2.5 變量MAKEFILE_LIST . 211
13.2.6 其他特殊變量 212
13.2.7 Makefile 文件的重建 . 212
13.2.8 重載另外一個Makefile . 213
13.2.9 make 如何解析Makefile 文件 214
13.2.10 總結 215
13.3 Makefile 基本規則 . 215
13.3.1 規則舉例 216
13.3.2 規則語法 216
13.3.3 依賴的類型 217
13.3.4 文件名使用通配符 218
13.3.5 目錄搜尋 220
13.3.6 Makefile 偽目標 . 225
13.3.7 強制目標(沒有命令或依賴的規則) . 227
13.3.8 空目標文件 228
13.3.9 Makefile 的特殊目標 . 228
13.3.10 多目標 230
13.3.11 多規則目標 231
13.3.12 靜態模式 231
13.3.13 雙冒號規則 234
13.3.14 自動產生依賴 234
13.3.15 書寫命令 236
13.4 變量的基本操作 241
13.4.1 變量的基礎 241
13.4.2 變量中的變量 242
13.4.3 變量高級用法 244
13.4.4 追加變量值 246
13.4.5 override 指示符 246
13.4.6 多行變量 247
13.4.7 環境變量 247
13.4.8 目標變量 247
13.4.9 模式變量 248
13.5 條件判斷 248
13.5.1 示例 249
13.5.2 語法 249
13.6 基本函數的使用 251
13.6.1 函數的調用語法 251
13.6.2 字符串處理函數 252
13.6.3 文件名操作函數 .255
13.6.4 foreach()函數 257
13.6.5 if()函數 .258
13.6.6 call()函數 258
13.6.7 origin()函數 259
13.6.8 shell()函數 260
13.6.9 控制make 的函數 260
13.7 make 的運行 . 261
13.7.1 make 的退出碼 .261
13.7.2 指定Makefile .261
13.7.3 指定目標 .261
13.7.4 檢查規則 .263
13.7.5 make 的參數 .263
13.8 隱含規則 265
13.8.1 使用隱含規則 .266
13.8.2 隱含規則一覽 .267
13.8.3 隱含規則使用的變量 .268
13.8.4 隱含規則鏈 .269
13.8.5 模式規則 .270
13.8.6 后綴規則 .273
13.8.7 隱含規則搜索算法 .274
13.9 make 工具與函數庫 . 275
13.9.1 函數庫文件的成員 .275
13.9.2 函數庫成員的隱含規則 .276
13.9.3 函數庫文件的后綴規則 .276
13.9.4 注意事項 .276
13.10 小結 277
13.11 實踐與練習 277
第14 章 Linux 系統下的C 語言與數據庫 278
視頻講解:13 分鐘
14.1 MySQL 數據庫簡介 279
14.2 安裝和連接MySQL 數據庫 . 279
14.2.1 安裝MySQL 數據庫 . 279
14.2.2 啟動和關閉MySQL 280
14.3 連接操作MySQL 282
14.3.1 MySQL 常用數據庫操作函數 282
14.3.2 連接MySQL 數據 . 284
14.3.3 查詢表記錄 285
14.3.4 插入表記錄 286
14.3.5 修改表記錄 287
14.3.6 刪除表記錄 287
14.4 Oracle 數據庫簡介 . 288
14.5 Oracle 數據庫的安裝 . 289
14.5.1 軟硬件要求 289
14.5.2 安裝Oracle 11g 數據庫 . 292
14.5.3 創建監聽和數據庫 293
14.6 連接Oracle 數據庫 297
14.7 小結 299
14.8 實踐與練習 299
第15 章 集成開發環境 . 300
視頻講解:13 分鐘
15.1 Eclipse 與CDT 簡介 . 301
15.2 安裝和配置Eclipse . 302
15.2.1 安裝Eclipse . 302
15.2.2 配置Eclipse 的CDT . 304
15.3 使用Eclipse 開發C 代碼 305
15.3.1 編寫運行Hello World . 305
15.3.2 CDT 的相關功能 . 307
15.3.3 調試C/C 的項目 307
15.4 小結 308
第3 篇 高 級 應 用
第16 章 界面開發基礎 310
視頻講解:23 分鐘
16.1 Linux 常用桌面環境 311
16.1.1 面板介紹 311
16.1.2 桌面圖標介紹 312
16.1.3 桌面背景 313
16.2 glib 庫介紹 . 314
16.2.1 類型定義 .314
16.2.2 glib 的宏 .314
16.2.3 內存管理 .315
16.2.4 字符串處理 .316
16.2.5 數據結構 .318
16.3 GObject 對象介紹 321
16.4 圖形引擎Cairo 介紹 . 322
16.5 多媒體庫介紹 323
16.5.1 元件和插件 .323
16.5.2 襯墊 324
16.5.3 數據、緩沖區和事件 .324
16.5.4 緩沖區的分配 .325
16.5.5 MIME 類型和屬性 .325
16.6 小結 326
16.7 實踐與練習 326
第17 章 界面布局 327
視頻講解:34 分鐘
17.1 窗體 328
17.1.1 初始化 .328
17.1.2 建立窗口 .328
17.1.3 結束應用程序 .330
17.1.4 回調函數 .330
17.1.5 其他窗體函數 .332
17.2 組裝盒構件 333
17.2.1 組裝盒的原理 .334
17.2.2 盒的細節 .334
17.2.3 組裝盒程序 .335
17.2.4 用表組裝 .339
17.2.5 表組裝程序 .341
17.3 容器 343
17.3.1 事件盒 .343
17.3.2 對齊構件 .343
17.3.3 固定容器 .344
17.3.4 布局容器 .345
17.3.5 框架 346
17.3.6 分欄窗口構件 .348
17.3.7 視角 349
17.3.8 滾動窗口 349
17.3.9 按鈕盒 351
17.3.10 工具欄 353
17.3.11 筆記本 358
17.4 小結 362
17.5 實踐與練習 362
第18 章 界面構件開發 . 363
視頻講解:1 小時3 分鐘
18.1 基本界面構件 364
18.1.1 按鈕構件 364
18.1.2 調整對象 368
18.1.3 范圍構件 370
18.1.4 標簽 377
18.1.5 箭頭 380
18.1.6 工具提示對象 382
18.1.7 進度條 382
18.1.8 對話框 386
18.1.9 標尺 387
18.2 雜項構件 390
18.2.1 狀態欄 390
18.2.2 文本輸入構件 392
18.2.3 微調按鈕 394
18.2.4 組合框 400
18.2.5 日歷 402
18.2.6 顏色選擇 409
18.2.7 文件選擇 410
18.3 RC 文件 411
18.4 小結 412
18.5 實踐與練習 412
第19 章 Glade 設計程序界面 413
視頻講解:23 分鐘
19.1 Glade 簡介 414
19.2 構造圖形界面 415
19.2.1 添加窗體 415
19.2.2 添加容器 421
19.2.3 添加構件 426
19.2.4 設置構件屬性 430
19.2.5 添加事件和回調 .431
19.3 C 語言代碼聯編 . 432
19.3.1 GtkBuilder 代碼連接基礎 433
19.3.2 GtkBuilder 代碼連接實例 . 435
19.4 小結 437
19.5 實踐與練習 437
第4 篇 項 目 實 戰
第20 章 MP3 音樂播放器 440
視頻講解:27 分鐘
20.1 GStreamer 簡介 441
20.2 界面設計 442
20.3 代碼設計 444
20.3.1 建立工程文件 .444
20.3.2 主程序設計 .445
20.3.3 生成playbin 對象 .446
20.3.4 打開文件 450
20.3.5 播放MP3 . 451
20.3.6 暫停播放 452
20.3.7 停止播放 452
20.3.8 界面更新 453
20.3.9 播放控制 454
20.4 小結 456