天天看點

iOS開發拓展篇—音頻處理(音樂播放器3)

說明:這篇文章主要介紹音頻工具類和播放工具類的封裝。

一、控制器間資料傳遞

1.兩個控制器之間資料的傳遞

第一種方法:self.parentviewcontroller.music=self.music[indexpath.row];不能滿足

第二種做法:把整個數組傳遞給它

第三種做法:設定一個資料源,設定播放控制器的資料源是這個控制器。self.parentviewcontroller.datasource=self;好處:沒有耦合性,任何實作了協定的可以作為資料源。

第四種做法:把整個項目會使用到的音頻資源交給一個工具類去管理,這樣就不用傳遞過去了。直接向工具類索要資源就可以。

二、封裝一個音頻工具類

建立一個音頻工具類,用來管理音樂資料(音樂模型)

iOS開發拓展篇—音頻處理(音樂播放器3)

工具類中的代碼設計如下:

yymusictool.h檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

yymusictool.m檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

三、封裝一個音樂播放工具類

該工具類中的代碼設計如下:

yyaudiotool.h檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

yyaudiotool.m檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

四、在音樂播放控制器中的代碼處理

yyplayingviewcontroller.m檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

注意:先讓使用者看到界面上的所有東西後,再開始播放歌曲。

提示:一般的播放器需要做一個重置的操作。

  當從一首歌切換到另外一首時,應該先把上一首的資訊删除,是以在show動畫顯示之前,應該檢測是否換了歌曲,如果換了歌曲,則應該做一次重置操作。

實作效果(能夠順利的切換和播放歌曲,下面是界面顯示):

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)

五、補充代碼

yymusicsviewcontroller.m檔案

iOS開發拓展篇—音頻處理(音樂播放器3)
iOS開發拓展篇—音頻處理(音樂播放器3)