2016-06-28 97 views
3

我正在開發一個項目,我需要在AVPlayer的iTunes資料庫中播放歌曲。爲此,我從iTunes庫中選取了所選歌曲的網址"ipod-library://item/item.mp3?id=1577682869916034242",並在AVPlayer中播放了相同的歌曲。幾乎所有的歌曲都會播放,但是對於少數歌曲MPMediaItemPropertyAssetURL返回零URL。還收到以下錯誤MPMediaItemPropertyAssetURL返回零

-[AVAssetReader initWithAsset:error:] invalid parameter not satisfying: asset != ((void *)0)

對此有何建議?爲什麼我從

MPMediaItemPropertyAssetURL

獲得零值也知道怎樣流或轉換DRM保護的媒體軌道成NSData的? 請指教。

+0

您可以參考這個 http://stackoverflow.com/questions/5571036/how-to-detect-if-an-mpmediaitem-represents-a-drm-protected-audio-track-on-ios/6401317# 6401317。 我認爲你應該檢查從MPMediaItemPropertyAssetURL得到的url。 if(assetURL && assetURL.aboluteString.length> 0)...''' – Proton

+0

@DungProton我可以檢查這個。但我想知道原因,爲什麼它是零。如果我想播放那首歌怎麼辦? –

+0

http://stackoverflow.com/questions/21195064/mp​​mediaitempropertyasseturl-returning-null-only-for-iphone-5s?是因爲它在雲端嗎? – Larme

回答

0

我發現問題是我試圖獲取MPMediaItemPropertyAssetURL屬性的歌實際上不在我的設備上。它被列在媒體庫中,但實際上還在iCloud中。一旦我將歌曲下載到我的設備上,問題就解決了。