說明:這篇文章主要介紹音頻工具類和播放工具類的封裝。
一、控制器間資料傳遞
1.兩個控制器之間資料的傳遞
第一種方法:self.parentviewcontroller.music=self.music[indexpath.row];不能滿足
第二種做法:把整個數組傳遞給它
第三種做法:設定一個資料源,設定播放控制器的資料源是這個控制器。self.parentviewcontroller.datasource=self;好處:沒有耦合性,任何實作了協定的可以作為資料源。
第四種做法:把整個項目會使用到的音頻資源交給一個工具類去管理,這樣就不用傳遞過去了。直接向工具類索要資源就可以。
二、封裝一個音頻工具類
建立一個音頻工具類,用來管理音樂資料(音樂模型)
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5iNyUzN2MTO3ITNxAjMzEzLchDM0EDMy8CX2MTMwUDNvwVavwVbvNmLn9GbiRXauNmLzV2Zh1Wavw1LcpDc0RHaiojIsJye.png)
工具類中的代碼設計如下:
yymusictool.h檔案
yymusictool.m檔案
三、封裝一個音樂播放工具類
該工具類中的代碼設計如下:
yyaudiotool.h檔案
yyaudiotool.m檔案
四、在音樂播放控制器中的代碼處理
yyplayingviewcontroller.m檔案
注意:先讓使用者看到界面上的所有東西後,再開始播放歌曲。
提示:一般的播放器需要做一個重置的操作。
當從一首歌切換到另外一首時,應該先把上一首的資訊删除,是以在show動畫顯示之前,應該檢測是否換了歌曲,如果換了歌曲,則應該做一次重置操作。
實作效果(能夠順利的切換和播放歌曲,下面是界面顯示):
五、補充代碼
yymusicsviewcontroller.m檔案