在Objective C中快速从NSURL下载到NSDATA

时间:2014-08-29 09:23:00

标签: ios objective-c ios7 nsdata avaudioplayer

我从我的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];
    });
});

1 个答案:

答案 0 :(得分:2)

嗯,你不能做太多影响互联网连接的速度,但是你可能想要在开始播放之前传输音频而不是全部下载?

如果有的话,可以选择AVAudioPlayer here

如果下载速度无法跟上播放速度,这可能会导致类似的问题,但我认为这是唯一的选择。

顺便说一句,你对问题的说法非常混乱。您没有将URL转换为数据,而是使用URL指定的位置下载数据。