【正文】
get fortable experience. The system has five modules, which control and play list management are the two core modules. Play control is mainly achieved: the music player, music pause, play mode control, on the one, next control, and music volume adjustment. Song list management module to achieve: Display the selected songs to show the currently playing song, song list is sorted, the song queues, add, delete, drag and drop songs to the list with the mouse, remove the playlist. For this system development, design is the basis, function is the key. Mainly to introduce the Mac platform and its associated development tools and technologies used. Function of the system description is also very detailed. Key words: Apple platform, MP3 Player, Cocoa 1 第 1 章 緒論 MP3技術 現(xiàn)狀 研究 隨著計算機和多媒體技術的不斷發(fā)展以及個人計算機的普及,各種各樣的媒體文件、媒體播放器層出不窮,而 MP3 格式以其體積小、音質好的特點成為使用最為廣泛的音頻格式,得到了絕大多數(shù)軟件和硬件媒體播放器的支持。 1986 年,德國人卡爾因茨 布蘭登堡率先提出了一個數(shù)字音樂壓縮技術的構想。布蘭登堡認為: ―可以通過一種編碼重組技術將音頻文件大幅度壓縮,然后在播放的時候使用專門的解碼技術進行還原,達到減小體積保持音質的目的。 ‖一年之后,布蘭登堡成功地將一首《騎兵進行曲》的 CD 音樂壓縮到原來的五分之一,但由于電腦速度 過慢,無法正常解碼。 1990 年,一家成功開發(fā)了 MPEG1 的音頻研究機構,為他提供了一個研究小組。在這年年底,改良后能夠真正運行的 MP3 技術終于被開發(fā)出來了。在實際測試中,音頻文件的壓縮和解碼都非常順利,能夠把 CD 音質的音樂文件壓縮到原來大小的 1/12,實現(xiàn)數(shù)字音樂實時壓縮。布蘭登堡敏銳意識到這是一個巨大市場,于圣誕節(jié)向德國政府申請專利。 1993 年, MP3 技術又得到國際標準組織(ISO)認可,從而成為主流音頻格式。 MP3 應該算目前使用用戶最多的有損壓縮數(shù)字音頻格式了。它的全稱是MPEG(MPEG: Moving Picture Experts Group) Audio Layer3。早期的 MP3 編碼采用的是固定編碼率的方式( CBR ),我們??吹降?128KBPS,就是代表它是以 128KBPS固定數(shù)據(jù)速率編碼 ——可以提高這個編碼率,最高可以到 320KBPS,音質會更好,自然,文件的體積會相應增大。因為 MP3 的編碼方式是開放的,你可以在這個標準框架的基礎上自己選擇不同的聲學原理進行壓縮處理,所以,很快由 Xing公司推出可變編碼率的壓縮方式( VBR)。它的原理就是利用將一首歌的復雜部分用高 bitrate 編碼 ,簡單部分用低 bitrate 編碼,通過這種方式,進一步取得質量和體積的統(tǒng)一。 MP3 壓縮編碼使用了 5 種重要的技術:最小聽覺門限判定 (Minimal Audition 2 Threshold)、掩蔽效應 (Masking Effect)、位儲存槽 (Reservoir of Bytes)、聯(lián)合立體聲 (JointStereo)和霍夫曼編碼 (Huffman Code)。 最小聽覺門限判定是一種減少信息量的手段,可以將大部分記錄信息集中在人耳最敏感的 2~ 5kHz范圍,其余頻率則分配較少的容量記錄。 掩蔽效應是 一種心理聲學模型,在聽覺上表現(xiàn)為有一個音量或音色特別突出的聲音出現(xiàn)時,其它細小的聲音會變得難以被察覺,因而沒有必要對所有的聲音細節(jié)都進行編碼,而只需對容易引起注意的聲音編碼。 位儲存槽是 MP3 的流量屬性,分為恒定比特率 (CBR)和可變比特率 (VBR)。CBR 指文件每秒的信息流量固定不變,常見的 MP3 音頻都是以 CBR 方式編碼的,其優(yōu)點是壓縮速度快;缺點是由于每秒的信息流量相同,容易造成空間的浪費。 VBR 指文件每秒的信息流量可以變化,其優(yōu)點是在信號復雜時用較多的容量記錄,信號簡單時用較少的容量記錄以有效利 用空間。通過位儲存槽,將 CBR編碼的 MP3 音頻,在波形簡單時用較少的容量記錄,把多余的空間用于記錄復雜的波形,維持流量的大小,以達到近似于 VBR 編碼的效果。而用 VBR 編碼的 MP3 音頻則不需要位儲存槽。 聯(lián)合立體聲是一種立體聲編碼技術,主要分為強度立體聲 (Intensity Stereo, IS)和中側立體聲 (Mid/Side Stereo, M/S)兩種。 IS 在流量比較低時使用,利用人類聽覺系統(tǒng)對高頻信號相位分辨能力不強的特點,將音頻信號中的低頻分離出來合成單聲道信息,其余的高頻信息合成另一個單聲道信 息,并通過另外記錄高頻信號的位置信息來重建立體聲效果。 M/S 常被用于左右聲道大體相似的情況,先將左右聲道相加 (L+R)得到一個聲道,再將左右聲道相減 (LR)得到另一個聲道,然后將這兩個聲道信息通過心理聲學模型和濾波器處理。 M/S 與 IS 一樣,是以損失部分相位信息為代價而獲得較高音色記錄信息的方法。一般地,在 MP3 音頻編碼中 M/S和 IS是交替使用的 , 視信息內容和流量而定。如果是更高流量如 160kb/s以上的 MP3 音頻,則可以對立體聲的兩個聲道獨立編碼,以保存相位信息。 霍夫曼編碼是一種常見的無失真壓縮方案。 在脈沖編碼調制信號 (PCM)被分成多個臨界頻帶并經(jīng)過以上處理后,經(jīng)過混合多相修飾離散余弦變換 (MDCT),將波形轉換為一連串的系數(shù),最終經(jīng)過霍夫曼編碼再次實現(xiàn)壓縮。 3 蘋果平臺歷史介紹 Mac OS 是一套運行于蘋果 Macintosh系列電腦上的操作系統(tǒng)。 Mac OS 是首個在商用領域成功的圖形用戶界面。 Mac OS 可以被分成操作系統(tǒng)的兩個系列:一個是老舊且已不被支持的―Classic‖Mac OS(系統(tǒng)搭載在 1984 年銷售的首部 Mac 與其后代上,終極版本是Mac OS 9)。采 用 Mach 作為內核, 在 Mac OS 8 以前用 ―System ‖來稱呼。新的 Mac OS X 結合 BSD Unix、 OpenStep 和 Mac OS 9 的元素。它的最底層建基于Unix基礎,其代碼被稱為 Darwin,實行的是部分開放源代碼。 從 1984 年 System 開始,到 1987 年的 system ,是蘋果早期的系統(tǒng)。 System 是蘋果隨同 Macintosh 128K 的最初電腦操作系統(tǒng),發(fā)布于 1984年 1 月,是第一個麥金塔操作系統(tǒng)。當時的 System 含有桌面、窗口 、圖標、光標、菜單和卷動欄等項目。全體系統(tǒng)文件夾僅 216K。 System 是在 1985 年的 4 月發(fā)布的, 只是 的一個更新而已,沒什么太大的變化 。 后來蘋果又分別在在 1988 年、 1991 年推出了 System 6 、 system7 系統(tǒng)。 1997 年 7 月 26 日發(fā)布的 Mac OS 帶來 multithread Finder,三維的 Platinum 界面,以及新的電腦幫助系統(tǒng)。 此時 蘋果才開始慢慢的開啟了它的另外一個時代。 1999 年 10月 23 日蘋果發(fā)布了 Mac OS 9 是 Mac OS 的改進版本 。 Mac OS X 一代全新的產品, 具有劃時代的意義。 誕生于 2021 年 3 月 24 日。Mac OS X 使用基于 BSD Unix 的內核,并帶來 Unix風格的內存管理和搶占式多任務處理 (preemptive multitasking)。大大改進內存管理,允許同時運行更多軟件,而且實質上消除了一個程序崩潰導致其它程序崩潰的可能性。這也是首個包括 ―命令行 ‖模式的 Mac OS,除非執(zhí)行單獨的終端工具程序,否則你可能永遠也見不到。 到今天, 距離 蘋果 2021 年 3 月 24 日發(fā)布了第一代 Mac OS X Cheetah(獵豹)系統(tǒng),到現(xiàn)在已經(jīng)整整過去了十年的時間,從當初不完善的系統(tǒng)功能,到不斷求新突破的今天, Mac OS X 的版本變遷見證了蘋果發(fā)展的十年歷程。 Mac OS X 也在這十年之間陸續(xù)推出了 8 個版本。 現(xiàn)在最新一代的 Mac OS X Lion 4 雄獅的系統(tǒng)也正在測試階段,預計今夏將推出正式版本。 這些平臺的變遷都是針對蘋果的 iMac 的。 蘋果這 30 年起起落落,曾經(jīng)輝煌過,但是由于種種原因,它有段時間沒落了,但是蘋果一直在不斷調整,一直在專心做自己的產品。當現(xiàn)在它又回到我們大家的視線中來 的時候,它改變了世界 IT 行業(yè)的格局, 蘋果的三大產品分別深刻的改變了三類內容市場 ——iPod 之于音樂市場、 iPhone 之于應用市場、 iPad之于電子書市場。 它開始為用戶創(chuàng)造著需求,讓我們明白原來可以用這個產品干這樣的事情,原來產品可以這樣用。它的耀眼光芒使它再次站在世界之巔。蘋果的產品總能夠讓我們擁有最好的用戶體驗。 1998 年,蘋果以 iMac 實現(xiàn)了 公司復興 , 2021 年 iPod 誕生,改變了 MP3 播放器的時代。 iMac 和 iPod 現(xiàn)在早已成為蘋果公司的傳奇產品。 這兩個產品真正實現(xiàn)了蘋果巨人的復活,使得蘋果時代又 一次到來了。現(xiàn)在 iPad 會成為蘋果公司的 下一個 傳奇嗎?就目前的狀況看 iPad 正在通往傳奇的路上越走越遠。 蘋果系統(tǒng)與 WINDOWS系統(tǒng)的區(qū)別 Mac OS X 與 Windows 在架構與開發(fā)環(huán)境上最大的不同點在于: Mac OS X基于 UNIX; Mac OS X 主要開發(fā)工具 Xcode 使用 GCC 作為編譯程序,與其他種類的 UNIX 相同;不過 Mac OS X 也有獨樹一格的 ―bundle‖軟件包裝格式這樣的東西,成為它與其他操作系統(tǒng)不同之處。 Windows 和 Mac OS X 都屬于現(xiàn)代的操作系統(tǒng),所以 Windows 在操作系統(tǒng)層級所提供的功能 ──執(zhí)行 文件與鏈接庫加載、多任務與多線程、內存管理等 在Mac OS X 上都找得到對等的 API 和作法。不過,相較于 Windows 在微軟獨力開發(fā)下,架構和 API 都維持著相對的一貫性(另一方面,也背負著各種歷史遺跡和向下相容的包袱), Mac OS X 則是底層源自 NeXTSTEP 的 Mach微核心(現(xiàn)在稱為 XNU),而應用層(用準確的 UNIX 術語來說叫 userland)來自 FreeBSD 4。Mac OS X 透過這樣的架構,才擁有和一般 Linux/FreeBSD 相似的 UNIX 應用環(huán)境 。有相當多 Mac 軟件開發(fā)者喜歡在 UNIX shell 下工作,使用各種 UNIX 工具。而 在 Windows 上,必須加裝 Cygwin之類的環(huán)境才能辦到。 Mac OS X 受益自 UNIX 環(huán)境之處不少。尤其, Apple 使用了大量的 open 5 source 工具。舉例來說, Apple 不像微軟,沒有自己的 C 語言編譯工具, Apple用的是 UNIX 業(yè)界的標準 ─ open source 的 GCC(其中當然有不少 OS X 的擴展功能就是)。雖然 Apple 有自己的開發(fā)環(huán)境 Xcode,但是底層采用 GCC 這件事對開發(fā)者來說是相當重要的。同時 , Apple 的 C/C++鏈接庫用的也是 GCC 標準的 std c/std c++。但是 Mac OS X 并不完全是 UNIX。它的 GUI 環(huán)境( Aqua)就完全不是一般 Linux/FreeBSD所使用的 X11。而在 UNIX層之下的微核心也和其他 UNIX不同。接下來這一點很重要: Mac OS X 雖然有和 Windows .EXE 和 .DLL 相對應的文件( Mac OS X 跟其他 UNIX 一樣,可執(zhí)行文件一般不加擴展名, UNIX 系的動態(tài)加載鏈接庫則冠以 .dylib),但更重要的架構差異是 bundle。 Bundle 概念承襲自 NeXTSTEP。簡單來說,就是由操作系統(tǒng)提供一種類似對象封裝的文件包裹。Mac OS X 上最常見的 bundle 要屬 .app 結尾的應用程序了。雖然 .app 外觀上是個文件,在 UNIX shell 下看就能發(fā)現(xiàn)它其實是個目錄,內含各種 metadata(通常至少會有一個名為 的數(shù)據(jù)文件)、可執(zhí)行文件、動態(tài)鏈接模塊、各種資源等。除了 .app 外, OS X 的各種框架檔(以 .framework結尾,是一種同時包含頭文件及鏈接庫的包裝)、應用程序的外掛模塊(通常以 .bund