Iphone 播放由NSData组成的音频
在获得歌曲的NSData后,我使用此代码播放音频,但未将其转换为NSString..Null正在获得打印 NSString*urlString=[[NSString alloc]initWithData:self.audioSongData encoding:NSASCIIStringEncoding]Iphone 播放由NSData组成的音频,iphone,nsdata,Iphone,Nsdata,在获得歌曲的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 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];
如果数据在internet上,请使用
[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];
}
NSMutableURLRequest*request=[[NSMutableURLRequest alloc]init];
[请求设置URL:[NSURL URLWithString:urlString]];
[请求设置HttpMethod:@“获取”];
NSHTTPURLResponse*urlResponse=nil;
NSError*error=[[NSError alloc]init];
NSData*wavDATA=[NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse错误:&error];
如果([urlResponse statusCode]>=200&&[urlResponse statusCode]<300)
{
avPlayer=[[AVAudioPlayer alloc]initWithData:wavDATA错误:&error];
[avPlayer play];
}
如果使用GET从HTTP页面检索音频数据,那么这应该是您想要的。
请求代码也可以在本文档中找到。希望这有帮助 你假装它在做什么?想播放此NSDATA中的一首歌,你可以用以下方式播放音频:avPlayer=[[AVAudioPlayer alloc]initWithData:self.audioSongData error:&error];[avPlayer play];?