2017-04-20 79 views
0

我正在开发混合移动应用程序(使用Ionic 2),允许用户在视频上叠加音频。实质上,视频和音频轨道可以同时播放。我们面临的挑战是通过Google Cast功能获得这种行为 - 我希望用户能够将视频以及单独的音频覆盖投射到他们的Cast设备上。谷歌播放视频与音频覆盖

我决定开发一个自定义的Cordova插件(从Android开始),原生实现Google Cast API,原因如下:Google Cast Web API依赖于Chrome浏览器,因此我们的混合应用程序在Cordova的WebView中运行将无法正常工作,而我所见过的最新科尔多瓦插件A)并未实现这种音频叠加功能,而且B)自2015年9月以来似乎被废弃。

这就是背景,现在题。

到目前为止,我的理解如何,通常情况下,Cast API通过向Receiver Application发送URI来工作,而Receiver Application负责从服务器或发送方应用程序的资源中获取此资源。这给我带来一个问题:我的应用程序同时使用两个资源。

我看到here MediaInfo可以代表一组MediaTrack,它可以是音频,视频,文本等等。我能够同时启用多个MediaTracks吗?我应该在自定义接收器应用程序中探索自定义实现以启用多个活动MediaTracks吗?

我是否应该考虑将mp4解复用,将音频流混合成一个单独的临时mp4文件,然后将此mp4的URI传递给Cast Device?

我现在处于研究阶段,但将在未来几周内实施并测试各种解决方案。任何人都可以想到其他创意解决方案?有没有人做过这个?最后,谁能说某些这不能做到?

任何帮助/建议表示赞赏。

回答

1

在接收器上投射SDK不支持多个活动媒体元素,因此即使您编写自定义接收器并包含两个媒体元素,一个用于视频,一个用于音频,一次只能有一个处于活动状态,所以这是行不通的。如果你可以将它们混合成一个mp4,那么这将是最好的方法,并且可以与Default或Styled接收器一起工作(因此不需要编写自定义的接收器)。