我可以在WebView中播放视频文件,但视频会在没有用户交互的情况下自动播放。所以现在我正在采用不同的方法来实现这一目标。
NSString* embedHTML = @"\
<html><head>\
<style type=\"text/css\">\
body {\
background-color: transparent;\
color: white;\
}\
</style>\
</head><body style=\"margin:0\">\
<embed id=\"yt\" src=\"http://www.businessfactors.de/bfcms/images/stories/videos/defaultscreenvideos.mp4\" type=\"application/x-shockwave-mp4\" \
width=\"%0.0f\" height=\"%0.0f\"></embed>\
</body></html>";
_webView = [[UIWebView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320.0, 412.0)];
[_webView setOpaque:NO];
NSString *html = [NSString stringWithFormat:embedHTML, _webView.frame.size.width, _webView.frame.size.height];
[_webView loadHTMLString:html baseURL:nil];
这样,我可以从互联网上播放视频文件。但我想播放本地内存中的文件。
即使尝试传递本地文件路径变量,视频也无法播放。任何人都可以告诉我如何将我的本地文件嵌入到HTML中,以便我可以像在互联网视频中一样在webview中播放吗?
案例1:视频自动在WebView中播放,但播放按钮仍在顶部。 案例2:如上所示嵌入在线视频URL,可以播放视频。但我想传递本地视频文件路径而不是在线视频网址
答案 0 :(得分:2)
如果您使用的是UIWebView,则无法从本地内存运行文件。如果您希望视频无法自动播放,则必须在HTML文件中输入代码(我假设您显示的HTML文件是您自己的)以禁用视频的自动播放。
如果您使用的是对象,请参阅以下示例代码
<object width="160" height="144">
<param name="autoplay" value="false">
<embed src="sample.mov" width="160" height="144"
autoplay="false" controller="false"
</embed>
</object>
答案 1 :(得分:1)
如果你将.mp4或兼容的其他视频添加到你的应用程序包中,你就可以达到这样的路径;
[[NSBundle mainBundle] pathForResource:@"blalba" ofType:@"mp4"];
它会为您提供网址字符串。
如果您的视频不在捆绑中,无论是从捆绑中复制还是从互联网下载,您都可以获得这样的目录;
NSString *documentdir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *tileDirectory = [documentdir stringByAppendingPathComponent:@"xxxx/Tiles"];
NSLog(@"Tile Directory: %@", tileDirectory);
获取视频网址后,您可以将其添加到WebView中。但它会在iphone的默认视频播放器中播放我认为.. 祝你好运..