应用程序商店中有一些应用程序没有使用mpvideo的视频流,它们嵌入在uiview或uiwebview中。 这个实现是如何完成的?任何帮助都非常感谢。
答案 0 :(得分:1)
可能使用标准HTML5 <video>
标记。它允许您播放本地或远程视频文件。甚至是直播。查看Apple的Safari Dev Center了解所有详细信息。
答案 1 :(得分:1)
您可以尝试使用loadHTMLString将HTML代码加载到webview中:
该方法是UIWebView的一部分,看起来像这样:
[self.webview loadHTMLString:(NSString *)_some_string baseURL:nil]
您可以在_some_string变量中存储带有视频嵌入代码的基本html页面,它将使用嵌入代码加载该页面。
NSString *html = @"\
<html>\
<head></head>\
<embed code for video here>\
</body></html>";
[self.webView loadHTMLString:html baseURL:nil];
答案 2 :(得分:1)
由于Apple设置视频的方式,这是一个非常复杂的解决方案。
使用基本的HTML5视频播放器创建一个HTML文件,其中source =“video / you / want”。请务必在视频中添加 webkit-playsinline 。
<video width=“320” height=“240” webkit-playsinline><source src=“sample_iPod.m4v”/></video>
将此player.html作为资源添加到您的Xcode项目中。
创建UIWebView,在Storyboard编辑器中将其挂钩,然后在ViewDidLoad中执行以下操作:
//set the webView delegate - hook up in Storyboard as well!
self.webView.delegate = self;
//initialize our HTML path - the file is player.html in our project
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@”player” ofType:@”html”];
//encode the path
NSString *escapedPath = [htmlPath stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//webview needs NSURL, so let’s make one
NSURL *url = [NSURL URLWithString:escapedPath];
//load the request in the webview
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
最后,关键步骤,一定要标记视图以允许内联播放。
//flag the webview to play inline
self.webView.allowsInlineMediaPlayback = YES;
我写了一篇帖子,内容更详细here。
答案 3 :(得分:0)
你能尝试一下。
- (void)viewDidLoad {
[super viewDidLoad];
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];
[self.view addSubview:webView];
}