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

正文內(nèi)容

畢業(yè)設(shè)計-mac平臺下mp3播放器的實現(xiàn)(完整版)

2025-01-18 17:25上一頁面

下一頁面
  

【正文】 通知你。 如 果一個類對應(yīng)用程序其他類發(fā)生的事件感興趣,會向通告中心注冊,注冊使用的方法為 : (void)addObserver:(id)notificationObserverselector:(SEL)notificationSelector name:(NSString *)notificationName object:(id)notificationSender 此方法是注冊成為 NSNotificatinCenter 的 Observer,一旦對象 notificationSender有消息名為 notificationName 的消息發(fā)出,則接收這個消息,并執(zhí)行(SEL)notificationSelector 方法。視圖對象同時也不必知道模型對象的編程接口。 利用AppKit 框架 把界面和代碼中的類、變量聯(lián)系起來,可以大量減少書寫的代碼量。它擁有一個保羅萬象的面向?qū)ο蟮?API 集,與 Mac OS 提供的眾多技術(shù)相輔相成。 } property int numerator; property int denominator; (void) print。 Categories(分類)和 protocols(協(xié)議)不但可以提供很多多重繼承的好處,而且避免了很多麻煩。這種機制為ObjectiveC 帶 來了高效的消息派發(fā)和對 C 代碼完全原生的兼容。底層支持模塊就是實現(xiàn) mp3 文件的編解碼。這一層同樣提供其他大量的輔助框架技術(shù),比如 Core Data(用于幫助開發(fā)人員快速管理數(shù)據(jù)模型與關(guān)系 )、Address Book(與系統(tǒng)的地址簿程序進行溝通 )等等。 本選題正是基于當今最火爆的平臺,通過在蘋果的 Mac 平臺下一個 mp3 播放器的實現(xiàn),熟悉在 Mac 平臺下多媒體軟件的開發(fā)。雖然 .app 外觀上是個文件,在 UNIX shell 下看就能發(fā)現(xiàn)它其實是個目錄,內(nèi)含各種 metadata(通常至少會有一個名為 的數(shù)據(jù)文件)、可執(zhí)行文件、動態(tài)鏈接模塊、各種資源等。同時 , Apple 的 C/C++鏈接庫用的也是 GCC 標準的 std c/std c++。不過,相較于 Windows 在微軟獨力開發(fā)下,架構(gòu)和 API 都維持著相對的一貫性(另一方面,也背負著各種歷史遺跡和向下相容的包袱), Mac OS X 則是底層源自 NeXTSTEP 的 Mach微核心(現(xiàn)在稱為 XNU),而應(yīng)用層(用準確的 UNIX 術(shù)語來說叫 userland)來自 FreeBSD 4。它的耀眼光芒使它再次站在世界之巔。這也是首個包括 ―命令行 ‖模式的 Mac OS,除非執(zhí)行單獨的終端工具程序,否則你可能永遠也見不到。 后來蘋果又分別在在 1988 年、 1991 年推出了 System 6 、 system7 系統(tǒng)。采 用 Mach 作為內(nèi)核, 在 Mac OS 8 以前用 ―System ‖來稱呼。 M/S 與 IS 一樣,是以損失部分相位信息為代價而獲得較高音色記錄信息的方法。 位儲存槽是 MP3 的流量屬性,分為恒定比特率 (CBR)和可變比特率 (VBR)。 MP3 應(yīng)該算目前使用用戶最多的有損壓縮數(shù)字音頻格式了。布蘭登堡率先提出了一個數(shù)字音樂壓縮技術(shù)的構(gòu)想。 主要向 大家介紹了 Mac 平臺及其相關(guān)開發(fā)工具和使用到的技術(shù)。 Cocoa 就是蘋果提供 的一套 API,通過調(diào)用其中的接口, 重寫 其中的方法來實現(xiàn)需要的功能 。 本系統(tǒng)遵循蘋果的界面標準。 系統(tǒng)的功能介紹也很詳細。布蘭登堡認為: ―可以通過一種編碼重組技術(shù)將音頻文件大幅度壓縮,然后在播放的時候使用專門的解碼技術(shù)進行還原,達到減小體積保持音質(zhì)的目的。它的全稱是MPEG(MPEG: Moving Picture Experts Group) Audio Layer3。CBR 指文件每秒的信息流量固定不變,常見的 MP3 音頻都是以 CBR 方式編碼的,其優(yōu)點是壓縮速度快;缺點是由于每秒的信息流量相同,容易造成空間的浪費。一般地,在 MP3 音頻編碼中 M/S和 IS是交替使用的 , 視信息內(nèi)容和流量而定。新的 Mac OS X 結(jié)合 BSD Unix、 OpenStep 和 Mac OS 9 的元素。 1997 年 7 月 26 日發(fā)布的 Mac OS 帶來 multithread Finder,三維的 Platinum 界面,以及新的電腦幫助系統(tǒng)。 到今天, 距離 蘋果 2021 年 3 月 24 日發(fā)布了第一代 Mac OS X Cheetah(獵豹)系統(tǒng),到現(xiàn)在已經(jīng)整整過去了十年的時間,從當初不完善的系統(tǒng)功能,到不斷求新突破的今天, Mac OS X 的版本變遷見證了蘋果發(fā)展的十年歷程。蘋果的產(chǎn)品總能夠讓我們擁有最好的用戶體驗。Mac OS X 透過這樣的架構(gòu),才擁有和一般 Linux/FreeBSD 相似的 UNIX 應(yīng)用環(huán)境 。但是 Mac OS X 并不完全是 UNIX。除了 .app 外, OS X 的各種框架檔(以 .framework結(jié)尾,是一種同時包含頭文件及鏈接庫的包裝)、應(yīng)用程序的外掛模塊(通常以 .bundle 結(jié)尾)等等,都是以 bundle 形式呈現(xiàn)的 。滿足在蘋果操作系統(tǒng)上日常的音樂播放需求。 可以通過 Xcode 來組織和編輯源代碼、編譯并調(diào)試程序、查看文檔或構(gòu)建不同類型的軟件。 論文 結(jié)構(gòu)如下: 第 1 章, 緒論,介紹開發(fā)此項目的背景、目的、意義。 ObjectiveC實際上是 C的超集, ObjectiveC就是擁有一個面向?qū)ο髮樱?Object Oriented Layer)的 C。 和 C++另外一個很明顯的不同就是 ObjectiveC 在 沒有設(shè)定存取 權(quán)限( protected, public, private)時,預(yù)設(shè)的存取權(quán)限為 protected。 (void) setNumerator: (int) n。這些技術(shù)大多繼承于 NextStep 操作系統(tǒng)。 11 Cocoa是一套優(yōu)雅的開發(fā)框架,無論是 iMac桌面應(yīng)用程序,還是面向 iPhone、iPod、 iTouch的移動應(yīng)用程序開發(fā),都依賴于 Cocoa 這一強大的快速開發(fā)框架。這樣就將問題分隔開來,有助于在應(yīng)用程序中封裝各種對象,也有助于代碼復(fù)用。 如果一個類要向 NSNotificatinCenter 發(fā)送一個通知,則需要實現(xiàn) : (void)postNotificationName:(NSString*)notificationName object:(id)notificationSender 此方法是對象 notificationSender 向 NSNotificatinCenter 發(fā)送名為 notificationName的消息。當指定的對象的屬性被修改了,允許對象接受到通知的機制。 MP3 的全稱應(yīng)為 MPEG1 Layer3 音頻文件, MPEG(Moving Picture Experts Group)特指活動影音壓縮標準 . MPEG 音頻文件是 MPEG1 標準中的聲音部分,也叫 MPEG 音頻層,它根據(jù)壓縮質(zhì)量和編碼復(fù)雜程度劃分為三層,即 Layer Layer Layer3,且分別對應(yīng) MP MP MP3 這三種聲音文件,并根據(jù)不同 的用途,使用不同層次的編碼。 MAIN_DATA 部分長度是否變化決定于 FRAMEHEADER 的 bitrate 是否變化,一首 MP3 歌曲,它有三個版本: 96Kbps( 96 千比特位每秒)、 128Kbps 和192Kbps。 歌曲信息管理 模塊實現(xiàn)的功能比較單一,它只有一個功能: 管理歌曲的詳細本地音樂管理 播放控制 歌曲列表管理 歌曲信息管理 底層支持 MP3 播放器模塊 17 信息 。 構(gòu)造的這個數(shù)據(jù)結(jié)構(gòu)都在工程的 FileTree 文件夾里。 例如:我們在實現(xiàn)播放時,在歌曲前面顯示的 ―播放 ‖圖標就是我們重新繪制的。它主要管理軟件開發(fā)工程,協(xié)調(diào)并優(yōu)化開發(fā)工程。利用它可以做出很精美的界面,并且把界面和我們的代碼聯(lián)系起來。 NSString *bestType = [pboard availableTypeFromArray:supported]。 點擊 ―Volume‖按鈕,可以顯示調(diào)節(jié)音量的大小。 [[NSUserDefaults standardUserDefaults] setDouble:[audioPlayer volume] forKey:volume]。 具體的實現(xiàn) 機制 如圖 44 所示: 圖 4 4 通知具體實現(xiàn)圖 如圖 46 所示,紅色區(qū)域圈出的部分就是播放列表管理的范圍。 如果我們選中 ―Search for Artist ‖就可以打開一個查找的 界面,在文本框中輸入藝術(shù)家的名字就可以在播放列表 里迅速定位到這個藝術(shù)家所演唱的歌曲。 (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { if (image != nil) { NSSize imageSize。 } += 3。 其中的數(shù)據(jù)也是通過讀取 playlistEntry類里存儲的歌曲信息來顯示的。 本文主要說明了 以下 兩點: (1) 大體介紹了 ObjectiveC 語言和 Cocoa 框架。 (3) 由于沒有做網(wǎng)絡(luò)模塊,因此沒有實現(xiàn)歌詞的同步顯示。 (4) 如果在每首歌的標題之前顯示歌手的圖片,界面一定可以更加美觀。 (2) 詳細介紹了 MP3 系統(tǒng) 功能 的實現(xiàn)。 將讀取的信息存入相應(yīng)的變量 。 if ([controlView isFlipped]){ += ceil(( + ) / 2)。 27 imageSize = [image size]。 最后,還可以把播放列表里面的任何一首歌曲拖放到其他地方。 ―Repeat‖按鈕控制播放的模式,具體的模式包括:順序播放、單曲循環(huán)和列表循環(huán)播放。 它 是通過 tableView 實現(xiàn)的。 聲音控制的主要代碼如下: (IBAction)volumeDown:(id)sender { double newVolume = [audioPlayer volumeDown: VOLUME_DOWN]。 For (NSString *file in [[info draggingPasteboard] propertyListForType:NSFilenamesPboardType]) 22 [urls addObject:[NSURL fileURLWithPath:file]]。 21 第 4 章 MP3 播放器 系統(tǒng)模塊詳細介紹 本地音樂管理模塊介紹 本地音樂管理就是能夠從軟件中打開 瀏覽 系統(tǒng)文件夾,添加本地音樂到播放列表。 如圖 36,這個是 Xcode 開發(fā)工具的開始界面,其中第一個紅色方框的位置是當你選擇開發(fā) ios 程序時的選項,例如開發(fā) iPhone 和 iPad 程序。 具體繪制的過程就是重寫系統(tǒng)提供的一個繪制方法,該方法如 節(jié) 代碼所示。 要讓 outlineView 顯示數(shù)據(jù)就得實現(xiàn)它的四個 dataSource 方法: ( 1) – outlineView:child:ofItem: 第一個方法實現(xiàn)的目的是讓 outlineView 顯示 指定 節(jié)點的所有孩子節(jié)點。 實現(xiàn)的技術(shù)難點 outlineView 打開系統(tǒng)文件夾,添加音樂 outlineView 就是通過樹形結(jié)構(gòu)顯示文件夾,就是一般 Windows 和 Mac 系統(tǒng)顯示文件和文件夾的風格。 15 第 3 章 系統(tǒng)需求 與總體設(shè)計 軟件需求分析 軟件需求分析是從用戶的業(yè)務(wù)中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,通過對用戶業(yè)務(wù)問題的分析,規(guī)劃出軟件產(chǎn)品。不過 MP3 對音頻信號采用的是有損壓縮方式,為了降低聲音失真度, MP3 采取了 ―感官編碼技術(shù) ‖,即編碼時先對音頻文件進行頻譜分析,然后用過濾器濾掉噪音電平,接著通過量化的方式將剩下的每一位打散排列,最后形成具有較高壓縮 比的 MP3 文件,并使壓縮后的文件在回放時能夠達到比較接近原音源的聲音效果。 Categories categories 是分類的意思。委托是一個助手,例如類 A 有一個委托對象 B,類 A 里有很13 多委托方法,供 B 去重寫,當我需要類 B 去幫我做某件事情時,只要類 B 重寫已經(jīng)在類 A 中存在的關(guān)于做這件事情的方法就可以,類 A 會在 調(diào)用這個方法的時候 自動去找 類 B 的具體實現(xiàn)。應(yīng)用程序 的其中一些類會發(fā)送消息到 NSNotificatinCenter,而一些類會注冊成為 observer,關(guān)注特定的通知, NSNotificatinCenter 會把消息轉(zhuǎn)發(fā)給所有對某類型通知感興趣的 observer。無論是資深的 Mac開發(fā)人員,還是即將踏入 Mac 開發(fā)的新人, Cocoa 都是日常必須的,它是構(gòu)建Mac OS X 應(yīng)用程序最強大、最高效的工具。 Cocoa框架包含基 于控制臺程序的 Fo
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1