freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計-mac平臺下mp3播放器的實現(xiàn)(編輯修改稿)

2025-01-06 17:25 本頁面
 

【文章內(nèi)容簡介】 le 結(jié)尾)等等,都是以 bundle 形式呈現(xiàn)的 。 如 表 1 就是 Mac OS X 和 windows 的一些主要差別。 表 1 Mac OS X 和 Windows 比較 項目 Windows Mac 操作系統(tǒng)最新版本 Windows 7 Mac OS X 操作系統(tǒng)核心 NT Kernel XNU CLI shell環(huán)境 UNIX shell GUI(shell環(huán)境 ) Windows Explorer Aqua(Finder) 用來辨認(rèn)軟件組織的方式 GUID Bundle identify 廠商提供的開發(fā)環(huán)境 Visual Studo Xcode 可視化的 GUI 制作工具 Visual Sudio 內(nèi)建的WinForm designer Interface Builder C 編譯工具 Microsoft C Compiler GCC 操作系統(tǒng)服務(wù) WIN 32 API 從 POSIX layer用 std c/c++取用 6 續(xù)表 1 項目 Windows Mac 系統(tǒng)核心服務(wù) WIN 32 API CoreFoundation/CoreServices 面向?qū)ο蟮?API .NET Framework/MFC Cocoa 桌面 應(yīng)用程序的數(shù)據(jù)庫方案 ODBC/ AppKit 和 Cocoa Graphics 基本繪圖系統(tǒng)使用的單位 Pixel( GDI) Point(Quartz) 主要開發(fā) 語言 C/C++/C Objective –C/C++, C/C++ 系統(tǒng)內(nèi)部編碼 Unicode (UTF16) Unicode(文件系統(tǒng)使用UTF8,系統(tǒng) API 使用CFString/NSString,內(nèi)部使用UTF16) 應(yīng)用程序的設(shè)定管理方式 Windows registry Property list files 腳本語言支持 VBScript/JScript/CScript/DOS Batch script AppleScript/perl/Ruby/shell script/Python 數(shù)據(jù)結(jié)構(gòu)與容器 NSArray/NSDictonary/etc 背景 和意義 近幾年蘋果公司再度崛起,強(qiáng)勢回歸。隨著蘋果風(fēng)暴再次席卷全球,蘋果旗下產(chǎn)品的火爆和熱賣。于是在蘋果平臺之下的應(yīng)用一下子變的多 了起來。尤其在歐洲和北美,蘋果的市場需求量之大讓人感到不可思議。 蘋果 公司的網(wǎng)上應(yīng)用商店 App Store 的軟件產(chǎn)品更加是琳瑯滿目,上面有很多都是蘋果發(fā)燒友開發(fā)的應(yīng)用,為大家提供方便和更多的選擇。 本選題正是基于當(dāng)今最火爆的平臺,通過在蘋果的 Mac 平臺下一個 mp3 播放器的實現(xiàn),熟悉在 Mac 平臺下多媒體軟件的開發(fā)。滿足在蘋果操作系統(tǒng)上日常的音樂播放需求。 Mac OS X 目前最新的版本是 ,它作為一款先進(jìn)的操作系統(tǒng)是基于穩(wěn)定的 Unix內(nèi)核而構(gòu)建起來的。蘋果的核心技術(shù) core technology 包括了 Core Image、Core Video、 Core Audio 和 Core Animation 都為不同類型的媒體提供先進(jìn)的操作支持。蘋果用 Open GL 技術(shù)來渲染 3D 圖像 , OpenGL被 Mac OS X 同時用作7 獨立的圖形加速的和系統(tǒng)圖形加速實現(xiàn),所以蘋果公司產(chǎn)品的界面看起來總是如此的絢麗迷人。 蘋果公司的應(yīng)用程序框架層 (Application Frameworks)內(nèi)嵌了用于構(gòu)建應(yīng)用程序的各種技術(shù),它的核心是用于開發(fā)程序的基礎(chǔ)環(huán)境: Cocoa、 Carbon 和 Java 等。各種環(huán)境的設(shè)計是為了讓熟悉某一種環(huán)境的開發(fā)人員能夠有施展的平臺。比如: Cocoa 和 Java 分別使用 ObjectiveC 和 Java 語言提供面向?qū)ο蟮拈_發(fā)環(huán)境,而 Carbon 提供基于 C/C++語言的開發(fā)環(huán)境。這一層同樣提供其他大量的輔助框架技術(shù),比如 Core Data(用于幫助開發(fā)人員快速管理數(shù)據(jù)模型與關(guān)系 )、Address Book(與系統(tǒng)的地址簿程序進(jìn)行溝通 )等等。 可以通過 Xcode 來組織和編輯源代碼、編譯并調(diào)試程序、查看文檔或構(gòu)建不同類型的軟件。除了 Xcode, Mac OS X 也提供您一整套開源的解決方案,比如 GNU Compiler Collection(GCC)。命令行構(gòu)建 工具也一應(yīng)俱全,包括 makefile、 gdb debugger、分析工具、性能調(diào)試工具、源代碼管理工具和其他許多編程工具。 本文研究的內(nèi)容和結(jié)構(gòu) 本文研究的主要內(nèi)容就是 Mac 平臺下一個 MP3 播放器的實現(xiàn)。在蘋果的iMac 上運行軟件,實現(xiàn)一般 mp3 和 wma 格式的音樂文件的播放。 系統(tǒng)包括本地音樂管理、播放控制、歌曲列表管理、歌曲信息管理和底層支持五大模塊。 本地音樂管理包括:瀏覽本地文件夾,添加本地音樂到播放列表;播放控制包括:音樂的播放、音樂的暫停,播放模式控制,上一首、下一 首控制,歌曲音量調(diào)節(jié);歌曲列表管理管理包括:顯示選中的歌曲,顯示 正在播放的歌曲,歌曲列表的排序,歌曲隊列的添加;歌曲信息管理 只用來管理 歌曲的詳細(xì)信息,例如:藝術(shù)家、歌曲時長、專輯信息、碼率、音軌 等。底層支持模塊就是實現(xiàn) mp3 文件的編解碼。 論文 結(jié)構(gòu)如下: 第 1 章, 緒論,介紹開發(fā)此項目的背景、目的、意義。 第 2 章,討論本系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù) 。 首先 總體介紹蘋果的開發(fā)平臺Objective C 和 Cocoa 框架,然后詳細(xì)說明了系統(tǒng)實現(xiàn)的技術(shù)關(guān)鍵 ,最后說明了8 設(shè)計本系統(tǒng)需要的硬件和軟件支持。 第 3 章,系統(tǒng)需求分析以及 開發(fā)遇到的 技術(shù) 難點問題。 第 4 章,詳細(xì)介紹每個功能模塊的實現(xiàn)。 9 第 2 章 關(guān)鍵技術(shù) Objective – C 特點 ObjectiveC,是 C 的衍生體,繼承了所有 C 語言的特性 , 但是它們不是繼承于 C 的語言特性本身。 ObjectiveC 的運行環(huán)境庫( Runtime Library)完全是由 C 編寫的,因此任何一個 ObjectiveC 消息派發(fā)( Message Dispatching),都會被替換成 ObjectiveC 運行環(huán)境中的某個或某幾個 C 函數(shù)的調(diào)用。這種機(jī)制為ObjectiveC 帶 來了高效的消息派發(fā)和對 C 代碼完全原生的兼容。 ObjectiveC實際上是 C的超集, ObjectiveC就是擁有一個面向?qū)ο髮樱?Object Oriented Layer)的 C。而 ObjectiveC 正是通過從 Smalltalk進(jìn)化而來的這種語法,實現(xiàn)了對這個面向?qū)ο髮拥闹С帧? ObjectiveC 和 C++不同,它 不包括命名空間機(jī)制 ( namespace mechanism) 。取而代之的是程序 設(shè)計師 必須在其類 名稱加上前綴,以免 引致沖突。 在 Cocoa編程環(huán)境中,所有 Mac OS X 系統(tǒng)類 和 函數(shù) 均有 ―NS‖作為前綴,例如 NSObject或 NSButton來清楚分別它們屬于 Mac OS X 核心, 使用 ―NS‖是由于這些類別的名稱在 NEXTSTEP 開發(fā)時定下 的 。 和 C++不同, ObjectiveC 不支援運算子多載(它不支持 adhoc 多型)。亦與C++不同,但和 Java 相同, ObjectiveC 只容許對象繼承一個類別(不設(shè)多重繼承)。 Categories(分類)和 protocols(協(xié)議)不但可以提供很多多重繼承的好處,而且避免了很多麻煩。 和 C++另外一個很明顯的不同就是 ObjectiveC 在 沒有設(shè)定存取 權(quán)限( protected, public, private)時,預(yù)設(shè)的存取權(quán)限為 protected。并且在自己的類之間盡量使用低耦合的聯(lián)合依賴關(guān)系,而少用高聚合的繼承關(guān)系 ,增強(qiáng)模塊之間的獨立性。 ObjectiveC 和 C++的對象模型和層次結(jié)構(gòu)是截然不同相互獨立的。ObjectiveC 是一門動態(tài)性很強(qiáng)的語言。編譯器保留了絕大部分信息,使得在運行階段能使用這些信息進(jìn)行動態(tài)綁定。 10 下面是一個 ObjectiveC 程序的典型結(jié)構(gòu) : import Foundation/ @interface Fraction: NSObject { int numerator。 int denominator。 } @property int numerator; @property int denominator; (void) print。 (void) setNumerator: (int) n。 (void) setDenominator: (int) d。 (int) numerator。 (int) denominator。 @end import ―‖ @implementation Fraction @synthsize numerator。 @synthesize denominator。 … @end Cocoa框架技術(shù)介紹 Cocoa 為創(chuàng)建應(yīng)用程序提供了一個功能豐富的支撐層。它擁有一個保羅萬象的面向?qū)ο蟮?API 集,與 Mac OS 提供的眾多技術(shù)相輔相成。這些技術(shù)大多繼承于 NextStep 操作系統(tǒng)。 另外一些則源于 Mac OS X 的內(nèi)核 BSD Unix系統(tǒng)。 Cocoa框架包含基 于控制臺程序的 Foundation框架和用于圖形化界面開發(fā)的 AppKit 框架。 Foundation 全稱 Foundation Framework,是 Cocoa 的一個子開發(fā)框架。Foundation 里包含了 Cocoa 中最基本的一些類,它們在一個 Mac 應(yīng)用程序中通常負(fù)責(zé)對象管理、內(nèi)存管理、容器等相關(guān)數(shù)據(jù)結(jié)構(gòu)的操作。 是Foundation的頭文件,一旦引入了這個頭文件,我們就可以在自己的程序里使用任何在 Foundation里聲明的類。 AppKit 提供的類用于管理視圖,窗口,文檔 ,文本, 圖像,顏色 等。 利用AppKit 框架 把界面和代碼中的類、變量聯(lián)系起來,可以大量減少書寫的代碼量。 11 Cocoa是一套優(yōu)雅的開發(fā)框架,無論是 iMac桌面應(yīng)用程序,還是面向 iPhone、iPod、 iTouch的移動應(yīng)用程序開發(fā),都依賴于 Cocoa 這一強(qiáng)大的快速開發(fā)框架。 它是一個高度面向?qū)ο蟮模?Object Oriented)開發(fā)框架。無論是資深的 Mac開發(fā)人員,還是即將踏入 Mac 開發(fā)的新人, Cocoa 都是日常必須的,它是構(gòu)建Mac OS X 應(yīng)用程序最強(qiáng)大、最高效的工具。蘋果公司之所以能夠開發(fā)出眾多頂級軟件,其實也 正是因為有著 Cocoa 這個秘密武器。 Cocoa 是 Mac OS X 上原生支持的應(yīng)用程序開發(fā)框架,蘋果公司強(qiáng)烈推薦所 有 Mac 開發(fā)人員使用。 Cocoa框架在 Mac OS 層次結(jié)構(gòu)中所處的位置如圖 21: 圖 21 Mac OS 層次模型 圖 Cocoa常用的設(shè)計模式 MVC 模式是進(jìn)行 Cocoa 開發(fā)時用的最多最廣泛的設(shè)計模式, M是 持有數(shù)據(jù)并定義數(shù)據(jù)的邏輯操作, V是 為用戶可視化的呈現(xiàn)對象, C 是 在模型和視圖之間起到中間人的角色。 MVC 范例適用于很多應(yīng)用程序,因為控制器在中間的協(xié)調(diào)角色使模型對象無需知道界面的 狀態(tài)和事件。視圖對象同時也不必知道模型對象的編程接口。這樣就將問題分隔開來,有助于在應(yīng)用程序中封裝各種對象,也有助于代碼復(fù)用。 cocoa 里的 MVC 設(shè)計模式和一般的 MVC 設(shè)計模式又有點區(qū)別:在視圖和模型之間少了一個連接的關(guān)系,具體如圖 22: 圖 22 MVC 設(shè)計模式圖 控制器 模型 視圖 12 系統(tǒng)實現(xiàn) 關(guān)鍵點 Notification 每個運行的程序都有一個 NSNotificatinCenter 的成員變量,它的功能類似于公告欄。應(yīng)用程序 的其中一些類會發(fā)送消息到 NSNotificatinCenter,而一些類會注冊成為 observer,關(guān)注特定的通知, NSNotificatinCenter 會把消息轉(zhuǎn)發(fā)給所有對某類型通知感興趣的 observer。 通知是 Cocoa 里對象之間進(jìn)行實踐通信的一種方式,通知時一種消息廣播,發(fā)給應(yīng)用程序中所有對通知表達(dá)的事情感興趣的對象。通告也能傳遞與事件相關(guān)的數(shù)據(jù)。 通告是在對象執(zhí)行完成動作之后產(chǎn)生,而不是像 delegate 是在之前產(chǎn)生。收到通知的對象沒有機(jī)會建議是否要執(zhí)行動作,而且對象的通知可以有多個監(jiān)聽者。 如 果一個類對應(yīng)用程序其他類發(fā)生的事件感興趣,會向通告中心注冊,注冊使用的方法為 : (void)addObserver:(id)notificationObserverselector:(SEL)notificationSelector name:(NSString *)notificationName object:(id)notificationSender 此方法是注冊成為 NSNotificatinCenter 的 Observ
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1