【发布时间】:2015-05-27 11:47:41
【问题描述】:
我需要从服务器流式传输并在屏幕上显示流式传输的内容...使用 NSStream、NSInputStream 和 NSOutputStream 流式传输工作正常。如何在屏幕上显示它?
使用的流看起来像@"http://191.168.143.41:1212/;
if(stream == inputStream) {
uint8_t buf[1024];
unsigned int len = 0;
len = [inputStream read:buf maxLength:1024];
if(len > 0) {
NSMutableData* datas=[[NSMutableData alloc] initWithLength:0];
[datas appendBytes: (const void *)buf length:len];
NSString *s = [[NSString alloc] initWithData:datas encoding:NSASCIIStringEncoding];
[self readIn:s];
NSLog(@"ss%@",s);
[self loadMovie:s]; //method for movie player
}
我试图在下面的电影播放器中显示它..
-(void_loadMovie:(NSString*)moviePrefix
{
NSString *path = [NSString stringWithFormat:@"%@.mjpg", moviePrefix];
NSURL *url = [NSURL fileURLWithPath:path];
if (url) {
_moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
_moviePlayer.view.frame = CGRectMake(0, 70, 600, 450);
_moviePlayer.controlStyle = MPMovieControlStyleNone;
_moviePlayer.scalingMode = MPMovieScalingModeNone;
[dic setObject:__moviePlayer forKey:path];
}
}
[_moviePlayer prepareToPlay];
[self.view addSubview: _moviePlayer.view];
[self.view bringSubviewToFront:_moviePlayer.view];
[self.view addSubview: _moviePlayer.view];
[_moviePlayer play];
}
是 NSString *path = [NSString stringWithFormat:@"%@.mjpg", moviePrefix];正确的方法??
这显示黑屏。什么问题? 如果这种方式不正确,还有其他方法可以显示这些帧吗? 谁能帮我解决这个问题...
【问题讨论】:
-
NSString *path = [NSString stringWithFormat:stringWithFormat:@".mjpeg", moviePrefix, @"movie"];你为什么要使用stringWithFormat:两次 -
@OmerWaqasKhan 抱歉,这是一个拼写错误。
标签: objective-c iphone http mjpeg