2011-10-10 60 views
3

在我的iPad应用程序中,我必须显示一些视频和PDF。所有的视频和PDF都是本地的。对于PDF,我已经使用了UIWebView,它正在工作。现在我想知道,我是否也可以使用相同的UIWebView来播放视频。所有的PDF都在一个UIWebView上工作,我想在同一个UIWebView上播放所有的视频。是否可以在UIWebView上播放本地视频?如果是的话我该怎么做?可以使用UIWebView播放本地视频吗?

问候 PC

+0

你有不只是尝试过吗?这似乎完全合理。 –

+0

好的..让我试试..谢谢詹姆斯 –

+0

你好詹姆斯, 你可以请帮我在UIWebView上播放视频的代码.. –

回答

3

假设支持视频类型,我认为这应该很好。 HTML5 = d

[webView loadHTMLString:@"<video src=\"yourVideo.mp4\">Alt Text</video>" 
       baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]bundlePath]]]; 

NB:没有测试

+1

+1您可能还需要调用'[webview stringByEvaluatingJavascriptFromString:@“document.getElementsByTagName('video')[0] .load()”]'或类似的命令来正确加载播放器。 – darvids0n

0
[self.webView_ loadHTMLString:@"<html><body>" 
"<video controls>" 
"<source src=\"CategoryImage_Preterit.mp4\" type=\"video/mp4\">" 
"</video>" 
"<img src=\"89.jpg\" alt=\"Smiley face\" width=\"142\" height=\"242\">" 
"</body>" 
"</html>" baseURL:[NSURL URLWithString:[self getBasePath]]]; 

-(NSString*)getBasePath 
{ 
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, 
                NSUserDomainMask, YES); 
NSMutableString *cacheDirectory = [NSMutableString stringWithString:[paths objectAtIndex:0]]; 

[cacheDirectory appendString:@"/"]; 
NSRange renge= NSMakeRange(0, cacheDirectory.length); 
[cacheDirectory replaceOccurrencesOfString:@"/" withString:@"//" options:NSCaseInsensitiveSearch range:renge]; 
renge= NSMakeRange(0, cacheDirectory.length); 
[cacheDirectory replaceOccurrencesOfString:@" " withString:@"%20" options:NSCaseInsensitiveSearch range:renge]; 
[cacheDirectory insertString:@"file://" atIndex:0]; 

return cacheDirectory; 

}