繁体   English   中英

如何在 AVAudioPlayer 中播放歌曲的二进制数据

[英]how to play binarydata of song in AVAudioPlayer

我从 xml 接收歌曲 url 并将它们作为二进制数据保存在 sqlite 中。 现在我想在 AVAudioPlayer 中播放这些歌曲。

我将如何实现这一目标? 这种方法适合在 AVAudioPlayer 中播放歌曲的二进制数据吗?

请看一下这个帖子:

带有外部 URL 到 *.m4p 的 AVAudioPlayer

AVAudioPlayer 仅适用于本地 URL。 它必须是文件 URL (file://)

请参阅Apple 的技术问答 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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM