MPMoviePlayerController重新连接多次

时间:2011-10-08 00:01:06

标签: iphone objective-c media-player mpmovieplayercontroller audio-streaming

我有一个简单的HTTP服务器运行,几乎只提供相同大小的块的MP3文件。我正在编写一个iOS应用程序(用于测试目的),它基本上采用URL并通过MPMovieController流式传输文件。这是我的示例代码:

MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] init];
[mp setMovieSourceType:MPMovieSourceTypeStreaming];
mp.contentURL = [NSURL URLWithString:@"http://127.0.0.1:8080"];
[mp play];

有效。但是:在我的http服务器上,我看到多个连接(第一个断开,第二个流通常到最后,尽管有时会有第三个连接)。

我知道这不是服务器问题,因为当我这样做时:

NSData *myData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://127.0.0.1:8080"]];

...然后只有1个连接完成读取和断开连接。

问题是:为什么MPMoviePlayerController在完成读取文件之前需要建立并断开这些连接,为什么不继续等待在套接字上写入更多数据?我找不到任何可以解释这个问题的相关文档:(

P.S。如果你很好奇我为什么需要这个,这里有一个简短的解释:我正在尝试模拟现实生活中的网络场景,其中MPMovieController以块为单位接收字节,其中随机长度的延迟很小

1 个答案:

答案 0 :(得分:0)

您需要修改服务器并添加对HTTP 206 Partial Content请求/响应的支持。 iOS以这种方式通过HTTP请求电影数据。