Ios 使用CocosDenshion播放iPod库歌曲

Ios 使用CocosDenshion播放iPod库歌曲,ios,cocos2d-iphone,mpmediapickercontroller,Ios,Cocos2d Iphone,Mpmediapickercontroller,我试图让用户从iPod库中选择一首歌曲。从中获取歌曲URL后,我尝试使用CocosDenshion库播放它,但没有收到任何声音 以下是MPMediaPickerControllerDelegate的代码示例: #pragma mark MPMediaPickerControllerDelegate - (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollecti

我试图让用户从iPod库中选择一首歌曲。从中获取歌曲URL后,我尝试使用
CocosDenshion
库播放它,但没有收到任何声音

以下是
MPMediaPickerControllerDelegate
的代码示例:

#pragma mark MPMediaPickerControllerDelegate
- (void)mediaPicker: (MPMediaPickerController *)mediaPicker
  didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
    [self dismissModalViewControllerAnimated:YES];
    if ([mediaItemCollection count] < 1) {
        return;
    }
    [song release];
    song = [[[mediaItemCollection items] objectAtIndex:0] retain];


    NSURL *itemURL = [song valueForProperty:MPMediaItemPropertyAssetURL];
    fileURL = [itemURL absoluteString];

    [[SimpleAudioEngine sharedEngine] preloadEffect:fileURL];
}

谁能告诉我出了什么问题吗。我需要能够改变所选歌曲的音高。这就是我使用CocosDenshion库的原因

查看调试器中的
[song valueForProperty:MPMediaItemPropertyAsetURL]
返回的URL。它不是标准的文件系统URL,而是指向资产库的自定义URL,因此CocosDenshion无法打开它也就不足为奇了

你需要使用AV基金会(可能是代码> AVoooPoovis/COD>)播放这首歌。或者使用AV基金会首先将歌曲转换成“真实”文件,然后用COCOS DeSHION回放,但这可能比第一个选项复杂得多。

MPMediaItemPropertyAsetUrl
的文档中也清楚地说明了这一点:

使用AV基础框架之外的URL不受支持。


更新:AVPlayer可以播放iPod库url。AVAudioPlayer无法从iPod库url播放。
- (IBAction)playSong {

    [[SimpleAudioEngine sharedEngine] playEffect:fileURL pitch:1.0f pan:0.0f gain:1.0f];
}