我想通过网址播放来自互联网的音乐。 我创建了一个简单的项目,其中包含一个带有以下代码的按钮:
NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"];
NSError **err;
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err];
[movie play];
它有效,但有一些延迟(我认为因为它在文件完全下载时等待) 那么我需要做的是音乐立即开始播放(例如,当下载了10%的文件时)?
答案 0 :(得分: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
一个<iframe>
,其中我的文件的网址为src
值。我把它添加到我看来。 Quicktime会立即出现。
答案 1 :(得分:1)
一旦下载了足够的数据,请使用-[QTMovie autoplay]
自动播放音乐。
在你的情况下:
NSURL *url = [[NSURL alloc] initWithString:@"http://someURL.mp3"];
NSError **err;
QTMovie *movie = [[QTMovie alloc] initWithURL:url error:err];
[movie autoplay];
自动播放方法将QTMovie对象配置为一旦有足够的数据可以开始播放,播放可以不间断地继续播放到电影的结尾。