我想在iPhone
中播放视频。
NSString *myHTML = [NSString stringWithFormat:@"<html><head><body>%@</body></html>", summary];//here summary is my url
[webView2 loadHTMLString:myHTML baseURL:nil];
如果我静态地给出url,它的工作原理很好,我可以播放视频,但我的url来自像这样的服务器
<iframe width="560" height="314' src="http://www.youtube.com" frameborder="0" allowfullscreen></iframe> // iam getting this from service.
如果我以同样的方式加载视频,它不起作用,它只是在我的视图中显示整个字符串。如何纠正这个问题?我需要从那个字符串(url)中获取唯一的来源,或者有其他方法吗?
在这里,我可以得到youtube视频或mp4或mov,但不是flash。(ios不支持)
看起来您的服务响应是XML格式的。首先,您需要做的是执行XML解析。对于XML解析,有几个教程可用。一些链接是:
- 超级简单的iOS XML解析
- 用Objective-C解析XML
- 如何在Xcode中解析XML文件
解析后,提取所需的数据并将其存储在一些变量或数组中。然后使用该数据播放视频。你可以查看这些链接:
- YouTube API博客
- 在iPhone和iPad上播放视频
放松。这太简单了。只要按照上面的步骤操作,你就会得到你想要的结果。
更新:
如果您的字符串看起来像下面示例中提到的myString
,那么您可以使用下面的代码来获取URL。
NSString *myString = @"<iframe width="560" height="314'' src="http://www.youtube.com" frameborder="0" allowfullscreen></iframe>";
NSRange firstRange = [myString rangeOfString:@"http://"];
NSRange secondRange = [[myString substringFromIndex:firstRange.location] rangeOfString:@"""];
NSRange finalRange = NSMakeRange(firstRange.location, secondRange.location);
NSString *subString = [myString substringWithRange:finalRange];
NSLog(@"subString :: %@",subString);
好运!!!
1.如果您想在MPMoviePlayerController
中播放视频,请使用以下代码。。。
你可以像下面这样在MPMoviePlayerController
中播放视频。。。
MPMoviePlayerController *videoPlayer = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]];
videoPlayer.view.frame = CGRectMake(184, 200, 400, 300);
[self.view addSubview:videoPlayer.view];
[videoPlayer play];
查看此链接的完整示例iPhone 中播放视频的代码
另请参阅另一个演示,从这个链接在iPhone中播放视频
AVPlayer
更新:
2.如果您想在webView
中播放视频,请使用以下代码。。。
NSString *Str = @"<video controls> <source src="yourvideofile.mp4"> </video>";
NSString *path = [[NSBundle mainBundle] pathForResource:@"yourvideofile" ofType:@"mp4"];
[Webview loadHTMLString:Str baseURL:[NSURL fileURLWithPath:path]];
我希望它对你有用。。。
只需在这一行中调用add您的字符串,即可进行
[self.myWebView加载请求:[NSRRequest请求WithURL:[NSRRL URLWithString:@"Your string"]]];