我从我的API获取音乐URL,其持续时间为4-5分钟。无论何时我尝试将该URL转换为数据,都会耗费大量时间。是否有任何方法可以快速转换。
这就是我的尝试:
dispatch_async(dispatch_get_global_queue( DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)
{
data1 = [NSData dataWithContentsOfURL:trackurl];
dispatch_async(dispatch_get_main_queue(), ^(void)
{
self.player = [[AVAudioPlayer alloc] initWithData:data1 error:nil
[self.player play];
});
});
答案 0 :(得分:2)
嗯,你不能做太多影响互联网连接的速度,但是你可能想要在开始播放之前传输音频而不是全部下载?
如果有的话,可以选择AVAudioPlayer
here。
如果下载速度无法跟上播放速度,这可能会导致类似的问题,但我认为这是唯一的选择。
顺便说一句,你对问题的说法非常混乱。您没有将URL转换为数据,而是使用URL指定的位置下载数据。