【问题标题】:How to get a video to play in UIWebView (video is in a ALAsset group)?如何让视频在 UIWebView 中播放(视频在 ALAsset 组中)?
【发布时间】:2014-01-30 14:30:23
【问题描述】:

好吧,也许标题有点令人不安,我希望说明这一点,以便您了解我的问题。 所以我有一个启用了分页的滚动视图。我想构建类似 iOS Photo App 的东西。
我通过 ALAsset 加载设备上的照片和视频并将它们存储在一个组中。
现在我想在滚动视图的单独子视图上显示每个对象。
对于图片,它工作正常。但是对于视频,我无法使其正常工作。
这是我做了什么,什么没用:
第一:

UIWebView *webView = [[UIWebView alloc] initWithFrame:frame];
NSString *embedHTML = [NSString stringWithFormat: @"<html><head><style></style></head><body>\
<video id='video_with_controls' width=\"%0.0f\" height=\"%0.0f\" controls>\
<source src='%@' type='video/MOV'/></video><ul>\
</body></html>", self.mainScrollView.frame.size.width, self.mainScrollView.frame.size.height, [assetRepresentation url]];
[webView loadHTMLString:embedHTML baseURL:nil];

然后:

UIWebView *webView = [[UIWebView alloc] initWithFrame:frame];
NSString* embedHTML = [NSString stringWithFormat:@"<video controls> <source src=\"%@\"> </video>", [assetRepresentation url];
[webView loadHTMLString:embedHTML baseURL:nil];

我也尝试先将它存储在 NSData 中,然后从那里加载它,但这会导致内存问题并且无法正常工作。

非常感谢任何帮助!

编辑:因为我认为 UIWebView 是在视觉上最多与 iOS 应用相匹配的东西,我想使用它而不是例​​如 MPMoviePlayer .. 如果我错了,我会很高兴知道如何/其他看起来像原来的应用程序

【问题讨论】:

    标签: ios objective-c video uiwebview alasset


    【解决方案1】:

    我猜视频 url 是本地的,这就是它在 UiWebView 中不起作用的原因

    所以解决方案是这样的: 在委托方法 webviewdidstartload 中,设置 MPmovieplayer 控制器以在 UiView 内播放,是的,它看起来像原始应用程序,因为您将在视图中播放它

    类似这样的:

    Add MPMoviePlayerController's view to a UIView

    【讨论】:

    • 我现在将对此进行测试,尽管我现在遇到了问题,因为没有调用委托方法。我将自己设置为 但它没有进入方法 webviewdidstartload .. 这应该在我创建 webview 变量后立即调用?!
    • 设置 webview.delegate = self;
    • 我已经这样做了 @interface SCImagesViewController : UIViewController UIWebView *webView = [[UIWebView alloc] initWithFrame:frame]; [webView setDelegate:self]; [webView setFrame:frame];
    • 好吧,我想通了,我只需调用 [webView loadHTMLString:nil baseURL:nil],然后调用委托方法。 mpmediaplayer 遇到了一些问题,当我遇到更多问题时会弄清楚并回来(希望我不会回来:P)。所以现在非常感谢!
    【解决方案2】:

    当您的电影文件位于区域设置时,您必须将 baseURL 设置为 MainBundle 并将完整路径放在“src”-tag 中。

    【讨论】:

    • 谢谢回答,但视频不在捆绑包中,我得到了设备上的视频和照片。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-17
    • 2012-10-27
    • 2012-04-17
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多