2017-04-20 56 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接收器一起工作(因此不需要編寫自定義的接收器)。