2012-06-22 2 views
2

На самом деле, я получаю URL-адрес от сервера с помощью XMLParser. Я хочу воспроизвести этот видеоролик в своем приложении.
Теперь я использовал `MPMoviePlayerController, но не работал. Пожалуйста помоги!Как воспроизвести видеоролик с сервера в приложении для iPhone

XMLParser.m

-(id) loadXMLByURL:(NSString *)urlString 
{ 
videoNames  =[[NSMutableArray alloc]init]; 

videos   = [[NSMutableArray alloc] init]; 
NSURL *url  = [NSURL URLWithString:urlString]; 
NSData *data = [[NSData alloc] initWithContentsOfURL:url]; 
parser   = [[NSXMLParser alloc] initWithData:data]; 
parser.delegate = self; 
[parser parse]; 
return self; 
} 

- (void) parser:(NSXMLParser *)parser didStartElement:(NSString *)elementname namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes: (NSDictionary *)attributeDict 
{ 
if ([elementname isEqualToString:@"items"]) 
{ 

} 


if ([elementname isEqualToString:@"video"]) 
{ 
    NSLog(@"video"); 
currentVideo = [Video alloc]; 
    } 
} 


- (void) parser:(NSXMLParser *)parser didEndElement:(NSString *)elementname 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
{ 

if ([elementname isEqualToString:@"video"]) 
{ 

    currentNodeContent2= [[currentNodeContent2 stringByReplacingOccurrencesOfString:@"+" withString:@" "] 
           stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
[videos addObject:currentVideo]; 
currentVideo.content2 = currentNodeContent2; 


} 
    if ([elementname isEqualToString:@"name"]) 
{ 
    currentNodeContent2= [[currentNodeContent2 stringByReplacingOccurrencesOfString:@"+" withString:@" "] 
          stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
    [videoNames addObject:currentVideo]; 
    currentVideo.content2 = currentNodeContent2; 
    NSLog(@"%@",currentNodeContent2); 
    } 
    } 


// in my class.m 

-(void)playButtonPressed1:(UIButton*)sender 
{ 
    UIButton *btn1 = (UIButton *)sender; 

Video *currentVideo= [[xmlParservideo videos] objectAtIndex:btn1.tag]; 
    NSString *urlString=currentVideo.content; 

NSURL *playURL=[[NSURL alloc]initWithString:urlString]; 

self.player =[[MPMoviePlayerController alloc]initWithContentURL 
       :playURL]; 
     player.view.frame = CGRectMake(0,80,340,360); 
    [self.view addSubview:player.view]; 

self.player.movieSourceType = MPMovieSourceTypeUnknown; 

[self.player prepareToPlay]; 

[self.player play]; 
} 

мой XML

<items> 
    <item> 
     <pastor> Master Jojimon</pastor> 
     <video> 
     http3A2F2Fvideo.google.com2Fgoogleplayer.swfFdocidD-675885207870876013326hl%3Den 
     </video> 
     <name>Message by Master Jojimon</name> 
     <lan>english</lan> 
+0

Почему бы вам не показать нам, что не работает. показать код. –

+0

Это мой код xmlParser и действие кнопки воспроизведения – islahul

+0

Что делает NSLog urlString прямо перед началом показа? –

ответ

0

Его не работает до того, что видео строка не является допустимым URL. Это указывает на swf-файл, который не является видео. И B, просто набрав URL-адрес в Safari, показывает его как недействительный адрес.

Если вы собираетесь обрабатывать ошибки при загрузке, я уверен, что это будет недействительным URL.

+0

http://www.youtube.com/embed/X_nJ7So9y04 это работает url, это тоже не играет в моем приложении – islahul

+0

помогите мне сыграть, напишите мне код – islahul

+0

Это isn ' t видео. Это ссылка на флеш-плеер. Который также, конечно, не будет воспроизводиться в вашем приложении. Вам нужно видео для фактического видео. MP4 работает лучше всего. –

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