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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-mac平臺(tái)下mp3播放器的實(shí)現(xiàn)(參考版)

2024-12-05 17:25本頁面
  

【正文】 30 參考文獻(xiàn) [1] (美 ) Aaron Hillegass. 蘋果開發(fā)之 cocoa 編程 (第三版 ). 北京: 電子工業(yè)出版社 , . [2] (美 ) 史 蒂文森 . Cocoa 與 ObjectiveC:構(gòu)建與運(yùn)行 .南京: 東南大學(xué)出版社 , . [3] (美 ) 布克 , 雅克曼 . Cocoa 設(shè)計(jì)模式 . 北京: 機(jī)械工業(yè)出版社 , . [4] (美 ) Stephen G. Kochan. Objectivec 程序設(shè)計(jì)(第二版) . 北京: 機(jī)械工業(yè)出版社 , . [5] (美 ) 達(dá)爾林普爾 , 納斯特 . ObjectiveC 基礎(chǔ)教程 . 北京: 人民郵電出版社 , . [6] (美 ) Davidson,D. J 等 .Cocoa 入門-使用 ObjectiveC. 北京: 中國電力出版社 , . [7] (美 ) Steven Mack . 流媒體寶典 . 北京: 電子工業(yè)出版社 , . [8] 蘋果公司 . NSTextFieldCell Class Reference. 蘋果開發(fā)文檔 , 2021. [9] 蘋果公司 . NSTableView Class Reference.. 蘋果開發(fā)文檔 , 2021. [10] 蘋果公司 . NSOutlineView Class Reference.. 蘋果開發(fā)文檔 , 2021. [11] 蘋果公司 . Drag and Drop Programming Topics for Coco. 蘋果開發(fā)文檔 , 2021. [12] 蘋果公司 . NSFileManager Class Reference.. 蘋果開發(fā)文檔 , 2021. [13] 蘋果公司 . Table View Programming Guide. 蘋果開發(fā)文檔 , 2021. [14] 蘋果公司 . Writing an Outline View Data Source. 蘋果開發(fā)文檔 , 2021. [15] 蘋果 公司 . Control and Cell Programming Topics for Cocoa. 蘋果開發(fā)文檔 , 2021. [16] 蘋果公司 . Cocoa EventHandling Guide. 蘋果開發(fā)文檔 ,2021. [17] 蘋果公司 . The ObjectiveC Programming Language. 蘋果開發(fā)文檔 , 2021. [18] Daniel H. Steinberg. Cocoa Programming: A QuickStart Guide for Developers. Pragmatic Bookshelf, . [19] Dave Mark. Learn Cocoa on the Mac. Apress, . [20] Tim Isted. Beginning Mac Programming. Pragmatic Bookshelf, . [21] Michael Trent. Beginning Mac OS。 (4) 如果在每首歌的標(biāo)題之前顯示歌手的圖片,界面一定可以更加美觀。 (3) 由于沒有做網(wǎng)絡(luò)模塊,因此沒有實(shí)現(xiàn)歌詞的同步顯示。 (2) 軟件的搜索功能還得繼續(xù)完善,目前的搜索功能還是過于單一簡單,只能按照藝術(shù)家、歌曲名搜索播放列表里的歌曲內(nèi)容。 目前的系統(tǒng)還需要進(jìn)一步完善。 (2) 詳細(xì)介紹了 MP3 系統(tǒng) 功能 的實(shí)現(xiàn)。 本文主要說明了 以下 兩點(diǎn): (1) 大體介紹了 ObjectiveC 語言和 Cocoa 框架。 } 29 結(jié)束語 本系統(tǒng)的開發(fā)遵循的就是 MVC 的設(shè)計(jì)模式,使用這個(gè)設(shè)計(jì)模式,可以實(shí)現(xiàn)視圖和數(shù)據(jù)的分離,從而可以使程序的模塊化更強(qiáng),便于移植。 if (專輯有圖片? ) 讀取專輯圖片到窗口指定位置 。 將讀取的信息存入相應(yīng)的變量 。 其中的數(shù)據(jù)也是通過讀取 playlistEntry類里存儲(chǔ)的歌曲信息來顯示的。 } 歌曲信息管理介紹 歌曲的信息管理就是能夠讓我們看到歌曲的詳細(xì)信息,包括歌曲名、藝術(shù)家、專輯、 時(shí)間長度、碼率、 音軌 、專輯圖片 等歌曲的具體信息。 [image positeToPoint: operation:NSCompositeSourceOver]。 if ([controlView isFlipped]){ += ceil(( + ) / 2)。 } += 3。 if ([self drawsBackground]) { [[self backgroundColor] set]。imageFrame, amp。 27 imageSize = [image size]。 (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView { if (image != nil) { NSSize imageSize。核心代碼如 下所示 。具體實(shí)現(xiàn)的流程如圖 45 所示: 圖 4 5 實(shí)現(xiàn)列表拖放流程圖 所有上述功能是在 playlistController 類 里實(shí)現(xiàn)的。 最后,還可以把播放列表里面的任何一首歌曲拖放到其他地方。 如果我們選中 ―Search for Artist ‖就可以打開一個(gè)查找的 界面,在文本框中輸入藝術(shù)家的名字就可以在播放列表 里迅速定位到這個(gè)藝術(shù)家所演唱的歌曲。歌曲就會(huì)從播放列表里刪除。 另外我們還可以在播放列表里點(diǎn)擊 鼠標(biāo)右鍵,此時(shí)將會(huì)彈出如圖 47 所示的菜單,如果你想把其中的幾首歌添加到隊(duì)列里循環(huán)播放就可以選擇 ―Add to Queue‖,被選中加入隊(duì)列的歌曲前面會(huì)有一個(gè) ―+‖的圖標(biāo)。 ―Repeat‖按鈕控制播放的模式,具體的模式包括:順序播放、單曲循環(huán)和列表循環(huán)播放。 具體的實(shí)現(xiàn) 機(jī)制 如圖 44 所示: 圖 4 4 通知具體實(shí)現(xiàn)圖 如圖 46 所示,紅色區(qū)域圈出的部分就是播放列表管理的范圍。 為了方便編程,減少代碼的書寫量,我們利用了 Cocoa 特有的 綁定 技術(shù),把列表里的每一列和我們 palylistEntry類里的變量綁定起 來。這些操作都只要重寫 tableView 里提供的 DataSource 和 Delegate 方法即可實(shí)現(xiàn)。 它 是通過 tableView 實(shí)現(xiàn)的。 [[NSUserDefaults standardUserDefaults] setDouble:[audioPlayer volume] forKey:volume]。 newVolume = [audioPlayer volumeUp: VOLUME_UP]。 [[NSUserDefaults standardUserDefaults] setDouble:[audioPlayer volume] forKey:volume]。 聲音控制的主要代碼如下: (IBAction)volumeDown:(id)sender { double newVolume = [audioPlayer volumeDown: VOLUME_DOWN]。 點(diǎn)擊 ―Volume‖按鈕,可以顯示調(diào)節(jié)音量的大小。 具體流程如 圖 42 所示 : 23 圖 4 2 播放控制流程圖 點(diǎn)擊 ―上一首 ‖和 ―下一首 ‖按鈕還可以順序的選擇播放的歌曲。實(shí)現(xiàn)的功能就是播放選中的音樂文件、暫停播放、實(shí)現(xiàn)上一首、下一首切換、調(diào)節(jié)音樂音量大小 ,并且還能實(shí)現(xiàn)水平進(jìn)度條的動(dòng)態(tài)顯示、歌曲時(shí)間顯示在進(jìn)度條之后,最后在軟件的 底 端還 要顯示 播放列表里所有歌曲的總時(shí)間。 For (NSString *file in [[info draggingPasteboard] propertyListForType:NSFilenamesPboardType]) 22 [urls addObject:[NSURL fileURLWithPath:file]]。 NSString *bestType = [pboard availableTypeFromArray:supported]。 實(shí)現(xiàn)打開系統(tǒng)文件夾的偽代碼如下: BOOL FileTree { if(是根節(jié)點(diǎn)) return true; else { if(選中節(jié)點(diǎn)有子節(jié)點(diǎn)?) 統(tǒng)計(jì)子節(jié)點(diǎn)個(gè)數(shù); 顯示選中節(jié)點(diǎn)得所有 的 子節(jié)點(diǎn); return true; if (是葉子節(jié)點(diǎn)?) return false; } } 實(shí)現(xiàn)添加音樂 拖放 到播放列表的 核心 代碼如下: (BOOL)tableView:(NSTableView*)tv acceptDrop:(id NSDraggingInfo)info row:(int)row dropOperation:(NSTableViewDropOperation)op { NSArray *supported = [NSArray arrayWithObjects:CogUrlsPboardType, NSFilenamesPboardType, iTunesDropType, nil]。例如,我們可以打開 存 放在桌面上的 ―music‖文件夾,如果要把整個(gè)文件夾里的音樂全部添加到右側(cè)的播放列表里面 去,可以直接選中 ―music‖文件夾后,單擊回車就可以完成音樂的添加。 21 第 4 章 MP3 播放器 系統(tǒng)模塊詳細(xì)介紹 本地音樂管理模塊介紹 本地音樂管理就是能夠從軟件中打開 瀏覽 系統(tǒng)文件夾,添加本地音樂到播放列表。利用它可以做出很精美的界面,并且把界面和我們的代碼聯(lián)系起來。 圖 37 Xcode 打開 工程 以上 圖 37 就是在 Xcode 打開一個(gè)已經(jīng)存在的工程,左邊是 ―分組和文件列表 ‖,右邊是書寫代碼的窗口,菜單欄是構(gòu)建控制常用的一些按鈕,這些按鈕可以自己添加。本文的開發(fā)是基于 Mac OS X 平臺(tái)的,所以選擇 ―Application‖的 ―Cocoa Application‖選項(xiàng)。 如圖 36,這個(gè)是 Xcode 開發(fā)工具的開始界面,其中第一個(gè)紅色方框的位置是當(dāng)你選擇開發(fā) ios 程序時(shí)的選項(xiàng),例如開發(fā) iPhone 和 iPad 程序。它主要管理軟件開發(fā)工程,協(xié)調(diào)并優(yōu)化開發(fā)工程。并且 安裝有 Mac OS X Snow Leopard(雪豹) 操作系統(tǒng) 。開發(fā)工具版本是 Xcode 。 具體繪制的過程就是重寫系統(tǒng)提供的一個(gè)繪制方法,該方法如 節(jié) 代碼所示。 例如:我們?cè)趯?shí)現(xiàn)播放時(shí),在歌曲前面顯示的 ―播放 ‖圖標(biāo)就是我們重新繪制的。 ImageCell 的 重繪 Cocoa 中,系統(tǒng)的控件一般是由 control 和 cell 構(gòu)成的, control 控制控件 響應(yīng)系統(tǒng)事件 ,例如單擊等,而 cell 控制控件的外觀。 ( 3) – outlineView:numberOfChildrenOfItem: 這個(gè)方法是返回指定節(jié)點(diǎn)的孩子點(diǎn)的個(gè)數(shù)。 要讓 outlineView 顯示數(shù)據(jù)就得實(shí)現(xiàn)它的四個(gè) dataSource 方法: ( 1) – outlineView:child:ofItem: 第一個(gè)方法實(shí)現(xiàn)的目的是讓 outlineView 顯示 指定 節(jié)點(diǎn)的所有孩子節(jié)點(diǎn)。 構(gòu)造的這個(gè)數(shù)據(jù)結(jié)構(gòu)都在工程的 FileTree 文件夾里。所以outlineView 的顯示數(shù)據(jù)都需要我們自己去組織提供。 涉及到 Outline View 的顯示,拖放 等 。 實(shí)現(xiàn)的技術(shù)難點(diǎn) outlineView 打開系統(tǒng)文件夾,添加音樂 outlineView 就是通過樹形結(jié)構(gòu)顯示文件夾,就是一般 Windows 和 Mac 系統(tǒng)顯示文件和文件夾的風(fēng)格。 歌曲信息管理 模塊實(shí)現(xiàn)的功能比較單一,它只有一個(gè)功能: 管理歌曲的詳細(xì)本地音樂管理 播放控制 歌曲列表管理 歌曲信息管理 底層支持 MP3 播放器模塊 17 信息 。 播放控制 模塊是本系統(tǒng)的核心模塊之一,實(shí)現(xiàn)的功能是: 音樂的播放 , 音樂暫停 , 播放模式控制 , 上一首、下一首控制 , 歌曲音量調(diào)節(jié) 。 以下通過用 UML的 用 例圖來對(duì) MP3 播放器 的模塊 進(jìn)行用戶 功能 需求描述。 15 第 3 章 系統(tǒng)需求 與總體設(shè)計(jì) 軟件需求分析 軟件需求分析是從用戶的業(yè)務(wù)中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務(wù)問題,通過對(duì)用戶業(yè)務(wù)問題的分析,規(guī)劃出軟件產(chǎn)品。 MAIN_DATA 部分長度是否變化決定于 FRAMEHEADER 的 bitrate 是否變化,一首 MP3 歌曲,它有三個(gè)版本: 96Kbps( 96 千比特位每秒)、 128Kbps 和192Kbps。 Frame 包括一系列的幀,個(gè)數(shù)由文件大小和幀長決定 。 ID3V1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1