iOS中一个页面上的多个HTML5媒体元素(iPad)

我的研究使我了解到,苹果的媒体元素处理程序是一个单身人士,这意味着当audio在后台播放时,我无法播放video 。 我的任务是构build一个幻灯片演示框架,客户需要一个背景音轨,与子弹点相匹配的定时audio旁白,以及可以是图像或video的可变媒体,或多个媒体元素的定时循环。

当然,没有媒体在iOS上工作。 每个媒体元素都取消了以前的内容。

我最初的想法是在video出现时将videoaudioembedded到video中,但是现有的Flash版本依赖于现有的资源,所以我几乎不得不使用交付的内容。

有没有解决这个问题? 我正在testingiOS 4.3.5 。 世界上最聪明的开发者都在这个网站上 – 我们必须能够想出一些东西。

编辑:更新我的iPad到iOS 5.0.1 ,问题依然存在。

用CSS做这个窍门怎么样?
也许你知道一个叫做vdopia的公司,它在移动设备上发布video广告。 http://mobile.vdopia.com/index.php?page=mobilewebsolutions
他们声称开发了所谓的vdovideo格式,实际上只是做一个css精灵运行:D
我的意思是你可以把你的“video”作为一个框架图像,然后在那里附上html5audio标签。

我想知道你的回应

您正在使用Web应用程序还是本机应用程序?

如果您正在使用Web应用程序,那么您将处于一个受到伤害的世界。 这是因为你对移动Safari不能马上提供的东西没有太多的控制。 如果是这样的话,我会向利益相关方坦诚相待。

如果您正在使用本机应用程序,则可以使用一种涉及UIWebView和ObjC之间来回通信的机制。 这实际上是可行的。

这个想法如下:

在您的HTML5文档中插入特殊的<object>元素,您可以根据自己的需要手工制作自己的元素,特别注意保持非标准属性的attr命名约定。 在这里,您可以在要播放的多媒体工件中插入ID,path和其他控制variables。

然后,你可以实际上build立一些JavaScript(在jQuery,PE之上),通过UIWebView上的委托机制或通过HTTP与ObjC进行通信。 我将在下面回顾这个select。

$(document).ready()你通过所有具有特殊类的对象。 一个你认真select识别所有特殊的<object> 。 你build立这样的对象的列表,并将它们传递到应用程序的ObjC部分。 你可以很容易地使用JSON序列化这样的列表。 然后在ObjC你可以做你想要的东西。 只要你想播放它们,就可以通过AVPlayer或其他框架来播放它们(再次,你将使用JS-ObjC桥来实际发信号通知本地播放特定的元素)。

您可以通过UIWebView中的委托模式或通过HTTP与ObjC进行“沟通”。 然后你会有一个JS – ObjC的桥梁。

HTTP方法在某些情况下是有意义的,但是它涉及很多额外的代码并且是资源饥饿的。

如果你正在构build一个ObjC应用程序,并希望获得关于如何真正构build符合这些需求的ObjC-JS桥的更多详细信息,请联系我们:)

我暂时停止了这篇文章,因为如果知道它实际上是一个本地应用程序,那就太好了。

干杯。

目前这是不可能的 。 正如您在播放video时注意到的那样,Quicktime会占用整个屏幕,并将浏览器移到后台。 目前唯一的解决scheme是将audio和video合并为一个mp4格式并播放该单个项目。

如果我理解正确,你不能合并audio和video,因为它依靠闪存? 由于iOS无法播放Flash,因此应将audio和video合并在一起,并使用Flash作为备份。 有很多HTML5播放器使用JavaScript来尝试播放HTML5video,然后备份到闪存进行备份。

你提到这个video有一个现有的Flash设置 – 它是一个SWF文件,你可以将其导入video/audio编辑软件,并在顶部添加一个音轨?

就像这样: http : //www.youtube.com/watch?v= J2vvH7oi8m8&feature =youtube_gdata_player

另外,如果它是一个Flash文件,你会转换成一个AVI或类似的iOS? 如果您仍然需要这样做,那么您有机会添加音轨。

你可以使用web服务实时合并stream与FFMpeg,然后stream一个输出quicktime?

详细阐述一下,像http://directshownet.sourceforge.net/about.html这样的库也可以工作&#x3002; 看起来他们有方法

DESCombine – 使用DirectShow编辑服务将video和audio文件(或文件)组合成单个输出文件的类库。 帮助文件(DESCombine.chm)提供使用该类。

这可以用来返回结果数据作为对调用的响应,并通过HTML5播放器加载。