2012-06-22 82 views
2

實際上,我使用XMLParser從服務器獲取了一個URL。我想在我的應用中播放此視頻網址。
現在我用`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

你初始化之前的urlString的NSLog顯示是什麼? –

回答

0

它不工作之前視頻字符串不是一個有效的URL。它指向一個不是視頻的swf flash文件。而且,只需在Safari中輸入url,就可以將其顯示爲不是有效的地址。

如果你要處理加載錯誤,我相信它會說它不是一個有效的URL。

+0

http://www.youtube.com/embed/X_nJ7So9y04這是工作網址,這也不能在我的應用程序中播放 – islahul

+0

幫我玩,請寫我代碼 – islahul

+0

這不是'一個視頻。這是一個Flash播放器的鏈接。這當然也不會在你的應用程序中播放。你需要一個視頻到一個實際的視頻。 MP4的效果最好。 –

相關問題