2016-07-09 5 views
0

Я пытаюсь передать видео MJPEG в приложение iOS через локальный IP-адрес. Соединение установлено, и поток имеет успех, я могу увидеть обновление шестнадцатеричных значений в моей консоли. Однако UIImageView отображает только первый полученный фрейм и после этого не обновляется. Что не так в коде? Я даже попытался обновить представление с помощью setNeedsDisplay, это не помогло. Я знаю, что NSURLConnection устарел в iOS 9+, это просто проверка кода, так как это можно устранить?Не удалось обновить UIImageView

#import "ViewController.h" 

@interface ViewController() 

@end 

@implementation ViewController 

@synthesize recievedData; 

- (void)viewDidLoad { 
    NSURLRequest *theRequest = 
    [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://192.168.0.15:8090/?action=stream"]]; 
    NSURLConnection *theConnection=[[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; 
    recievedData = [[NSMutableData alloc] init]; 
} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [recievedData appendData:data]; 
} 

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 
    NSLog(@"%@",recievedData); 

    UIImage *recievedImage = [UIImage imageWithData:recievedData]; 
    self.streamView.image = recievedImage; 
     [self.streamView setNeedsDisplay]; 


} 

@end 

ответ

0

как я вижу, это видеопоток, и вам нужно использовать видеоплеер для отображения содержимого медиа.

+0

Его поток изображения не является потоком видео, его формат «MJPEG». Просто нужно захватить изображения и обновить их в UIImageView. MJPEG - Мультимедиа Motion JPEG (M-JPEG или MJPEG) - это формат сжатия видео, в котором каждый видеокадр или чересстрочное поле цифровой видеопоследовательности сжимается отдельно как изображение в формате JPEG. –

 Смежные вопросы

  • Нет связанных вопросов^_^