Frage an ios4, nsxmlparser, objective-c, ios5, ios – So spielen Sie eine Video-URL vom Server in einer iPhone-App ab

2

Eigentlich bekomme ich eine URL vom Server mitXMLParser. Ich möchte diese Video-URL in meiner App abspielen.
Jetzt habe ich `MPMoviePlayerController verwendet, aber es funktioniert nicht. Bitte helfen Sie!

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];
 }

meine xml

  <items>
    <item>
      <pastor> Master Jojimon</pastor>  
       <video>
       http3A2F2Fvideo.google.com2Fgoogleplayer.swfFdocidD-675885207870876013326hl%3Den 
      </video>
      <name>Message by Master Jojimon</name>
        <lan>english</lan>
jetzt poste ich meine xml und helfe mir auch diese url zu spielen. meine Mail-ID [email protected] islahul
Warum zeigst du uns nicht, was nicht funktioniert? zeige Code. Ryan Poolos
entsprechender aktueller Videoinhalt (URL) islahul
Was bedeutet ein NSLog von urlString kurz bevor Sie es starten? Ryan Poolos
Dies ist mein xmlParser-Code und die Aktion der Wiedergabetaste islahul

Deine Antwort

1   die antwort
0

bevor dieser Video-String keine gültige URL ist. Ein Verweis auf eine SWF-Flash-Datei, die kein Video ist. Und B, wenn Sie nur die URL zu Safari eingeben, wird angezeigt, dass es sich nicht um eine gültige Adresse handelt.

Wenn Sie für Ladefehler behandeln würden, würde es sicher sagen, dass es keine gültige URL ist.

Das ist kein Video. Das ist ein Link zu einem Flash Player. Das wird natürlich auch nicht in deiner App abgespielt. Sie benötigen ein Video zu einem tatsächlichen Video. Ein MP4 funktioniert am besten. Ryan Poolos
hilf mir zu spielen, bitte schreib mir Code islahul
youtube.com/embed/X_nJ7So9y04 das funktioniert url, das spielt auch nicht in meiner app islahul

Verwandte Fragen