我的research让我了解到Apple的媒体元素处理程序是一个单例,这意味着当video
在后台播放时我无法播放audio
。我的任务是建立一个幻灯片演示框架,客户想要一个背景音轨,与子弹点匹配的定时音频画外音,以及可以是图像或视频的可变媒体 - 或多个媒体元素的定时循环。
当然,这些媒体都不适用于iOS。每个媒体元素都会取消之前的内容。
我最初的想法是在存在视频时将配音音频嵌入到视频中,但是此设置的现有Flash版本取决于现有资产,所以我几乎必须使用已交付的内容。
这有什么解决方法吗?我正在测试 iOS 4.3.5 。世界上最聪明的开发者都在这个网站上 - 我们必须能够想出一些东西。
编辑:将我的iPad更新为 iOS 5.0.1 ,问题仍然存在。
答案 0 :(得分:4)
如何用CSS来做这个伎俩
也许您了解一家名为vdopia的公司,该公司在移动设备上发布视频广告。
http://mobile.vdopia.com/index.php?page=mobilewebsolutions
他们声称开发了所谓的vdo视频格式,实际上只是为了运行一个css sprite:D
我的意思是你可以拥有你的视频"作为一个框架图像,然后在那里附加html5音频标签。
我想知道你的回复
答案 1 :(得分:1)
您是在使用Web应用程序还是使用本机应用程序?
如果您正在使用Web应用程序,那么您将面临一个受到伤害的世界。这是因为您根本无法控制Mobile Safari不会立即提供的内容。 如果是这种情况,我会向利益相关者表示诚实。
如果您正在使用本机应用程序,则可以采用涉及UIWebView
和ObjC之间来回通信的机制。这实际上是可行的。
这个想法如下:
在HTML5文档中插入特殊的<object>
元素,您可以根据自己的需要自行设置,并特别注意维护非标准属性的attr- *命名约定。
在这里,您可以在要播放的多媒体工件中插入ID,路径和其他控制变量。
然后你可以构建一些javascript(在jQuery之上,p.e。),它通过UIWebView
或HTTP上的委托机制与ObjC进行通信。我将在下面讨论这个选择。
在$(document).ready()
上说,你会浏览所有具有特殊类的对象。您仔细选择识别所有特殊<object>
的课程。
您构建了此类对象的列表,并将它们传递给应用程序的ObjC部分。您可以使用JSON轻松序列化此类列表。
然后在ObjC中你可以用它们做你想做的事。无论何时你想要播放它们,都可以通过AVPlayer或其他框架播放它们(再次使用JS-ObjC桥来实际发信号通知本机部分播放特定元素)。
您可以通过UIWebView中的委托模式或通过HTTP与ObjC“通信”。 然后你就可以使用JS-ObjC桥了。
HTTP方法在某些情况下有意义,但它涉及很多的额外代码,并且资源很耗力。
如果您正在构建一个ObjC应用程序,并想要了解如何实际构建一个符合这些需求的ObjC-JS桥的更多细节,请回复我们:)
我现在暂停这篇文章了,因为知道它是否实际上是Native App会很高兴。
干杯。
答案 2 :(得分:0)
目前这是not possible。正如您在播放视频时注意到的那样,它会占用整个屏幕的快速时间并将浏览器移动到后台。目前唯一的解决方案是将音频和视频合并为mp4格式并播放该单项。
如果我理解正确,您无法将音频和视频合并在一起,因为它依赖于闪存?由于iOS无法播放闪存,因此您应将音频和视频合并在一起,并使用闪存作为备份。有许多html5播放器使用javascript尝试播放html5视频,然后回退到flash进行备份。
答案 3 :(得分:0)
你提到视频的现有Flash设置 - 它是一个swf文件,你可以将它导入视频/音频编辑软件并在顶部添加音轨吗?
像这样:http://www.youtube.com/watch?v=J2vvH7oi8m8&feature=youtube_gdata_player
此外,如果它是Flash文件,您是否会将其转换为AVI或类似iOS?无论如何你都必须这样做,你有机会添加音轨。
答案 4 :(得分:0)
您是否可以使用网络服务与FFMpeg实时合并流,然后将一个输出流式传输到quicktime?
详细说明像http://directshownet.sourceforge.net/about.html这样的图书馆也可以。看起来他们有方法
DESCombine - 使用DirectShow编辑服务将视频和音频文件(或文件片段)组合到单个输出文件中的类库。提供了一个帮助文件(DESCombine.chm)来使用该类。
然后可以使用它将结果数据作为对呼叫的响应返回并通过HTML5播放器加载。