Вопрос по ios5, ios4, ios, nsxmlparser, objective-c – Как воспроизвести видео URL с сервера в приложении для iPhone

2

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

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>
Теперь я выкладываю свой xml, а также помогаю играть в эту ссылку. мой почтовый идентификатор [email protected] islahul
соответствующий текущий видеоконтент (URL) islahul
Почему вы не показываете нам, что не работает? покажи какой-нибудь код. Ryan Poolos
Что показывает NSLog urlString прямо перед инициализацией? Ryan Poolos
это мой код xmlParser и действие кнопки воспроизведения islahul

Ваш Ответ

1   ответ
0

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

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

youtube.com/embed/X_nJ7So9y04 это работает URL, это также не играть в моем приложении islahul
Это не видео. Это ссылка на флеш-плеер. Который также, конечно, не будет играть в вашем приложении. Вам нужно видео для реального видео. MP4 работает лучше всего.
помогите мне играть, пожалуйста, напишите мне код islahul

Похожие вопросы