1

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

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

它可以工作但有一些延迟(我认为是因为它在文件完全下载时等待)。
那么我需要做什么才能让音乐立即开始播放(例如,当下载了 10% 的文件时)?

4

2 回答 2

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>其中,以我的文件的 URL 作为src值。我将它添加到我的视图中。Quicktime 立即出现。

于 2011-06-15T13:14:59.487 回答
1

下载足够的数据后,用于-[QTMovie autoplay]自动播放音乐。

在你的情况下:

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

来自QTMovie 类参考

autoplay 方法将 QTMovie 对象配置为在有足够数据可用时立即开始播放,以便播放可以不间断地继续播放到电影结尾。

于 2011-06-26T12:25:58.303 回答