2012年12月6日 星期四

就算在背景,也要幸福地輪播音樂

在神聖的iOS國度裡,並不是所有事情都能夠在背景執行,然而音樂絕對是享有特權,能夠在背景繼續運作的第一人選。畢竟音樂的魔力實在是無人可檔,幾乎沒有人可以不拜倒在她的石榴裙下。

只要照著SDK文件的設定,即可輕易實現背景音樂播放的功能。然而,如此的背景音樂播放其實是有缺陷的,我們只能聽一首歌。若是那首歌當初設為重覆播放,那麼結果稍微好一點,我們可以無限地聽著同一首歌,直到世界末日。即便我們定義了audioPlayerDidFinishPlaying:successfully: method (此method將在一首歌播完時被呼叫),在曲終人未散時設定播放下一首,下一首的旋律卻讓我們望穿秋水,永遠苦等不到。

想要在背景實現輪播歌曲,其實很簡單,只要加入以下程式碼,然後再於audioPlayerDidFinishPlaying:successfully:設定每次歌播完時,下一首播放的歌曲即可:

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];


此段程式碼其實很強大,讓我們在背景換歌只是它的雕蟲小技。當我們在iPhone桌面連按2下home鍵,再向右一滑時,即可浮現音樂控制選單,讓我們控制App裡音樂的播放。不過控制音樂這部分還需要補上額外的程式碼才能實現,目前這些按鍵不只按了不聽話,沒反應,也不會顯示任何歌名。




不過今天我們就先聊到這吧,已經辛苦地解決了音樂無法輪播的大難題,接下來就讓我們幸福一下,從youtube享受幸福三部曲的音樂輪播吧。









沒有留言:

張貼留言