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