获得歌曲的NSData后,我使用此代码播放音频,但不转换为NSString ..Null正在打印
NSString * urlString = [[NSString alloc] initWithData:self.audioSongData encoding:NSASCIIStringEncoding];
NSLog(@" url string is %@",urlString);
NSURL *url = [[NSURL alloc] initWithString:urlString];
NSLog(@" url is %@",url);
NSData *wavDATA = [NSData dataWithContentsOfURL:url];
NSError *error;
avPlayer=[[AVAudioPlayer alloc] initWithData:wavDATA error:&error];
[avPlayer play];
答案 0 :(得分:0)
如果数据在互联网上,请使用
[NSData dataWithContentsOfURL:url]
是不够的。您必须执行HTTP请求才能获取数据,然后使用AVAudioPlayer播放它。
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"GET"];
NSHTTPURLResponse* urlResponse = nil;
NSError *error = [[NSError alloc] init];
NSData *wavDATA = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];
if ([urlResponse statusCode] >= 200 && [urlResponse statusCode] < 300)
{
avPlayer=[[AVAudioPlayer alloc] initWithData:wavDATA error:&error];
[avPlayer play];
}
如果使用来自HTTP页面的GET检索音频数据,那么应该做你想要的。 请求代码也可以在此question中找到。希望这有帮助!