2011-06-15 139 views
1

我想通过网址播放来自互联网的音乐。 我创建了一个简单的项目,有一个按钮,用下面的代码:通过网址播放音乐

NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"]; 
NSError **err; 
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err]; 
[movie play]; 

它的工作原理但有一些延迟(我想是因为等待而文件已完全下载)。
那么我需要做什么,音乐开始立即播放(例如,当文件的10%被下载时)?

回答

1

使用-[QTMovie autoplay]可以在下载足够的数据后自动播放音乐。

你的情况:

NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"]; 
NSError **err; 
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err]; 
[movie autoplay]; 

QTMovie class reference

自动播放的方法配置一个QTMovie对象开始足够多的数据是可用的播放可以持续不间断的尽快打电影结束。

1

如果你可以考虑在你的应用程序显示一个QuickTime窗口,您可以使用此代码:

NSString *url = @"http://someURL.mp3"; 
UIWebView* tempAudioPlayer = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; 
[tempAudioPlayer loadHTMLString:[NSString stringWithFormat:@"<iframe frameborder=\"0\" width=\"0\" height=\"0\" src=\"%@\"></iframe>", url] baseURL:nil]; 
[self addSubview:tempAudioPlayer]; 

我先创建一个不会显示一个UIWebView。然后我在其中loadHTMLString a ,其中我的文件的URL为src的值。我将其添加到我的观点。 Quicktime立即出现。