我正在接收来自xml的歌曲url并将它们保存在sqlite中作为二进制数据。 现在我想在AVAudioPlayer中播放这些歌曲。
我将如何实现这一目标? 这种方法适合在AVAudioPlayer中播放歌曲的二进制数据吗?
答案 0 :(得分:1)
请看一下这篇文章:
AVAudioPlayer with external URL to *.m4p
AVAudioPlayer仅适用于本地网址。它必须是文件URL(file://)
请参阅Apple's Technical Q&A QA1634
您可以获取二进制数据并将其写入文件然后播放:
NSURL *url = [NSURL URLWithString:@"http://a825.phobos.apple.com/us/r2000/005/Music/d8/a8/d2/mzi.jelhjoev.aac.p.m4p"];
NSData *soundData = [NSData dataWithContentsOfURL:url];
NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES) objectAtIndex:0]
stringByAppendingPathComponent:@"sound.caf"];
[soundData writeToFile:filePath atomically:YES];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL
fileURLWithPath:filePath] error:NULL];
NSLog(@"error %@", error);