2017-01-29 106 views
0

我有一個視頻網址和同一媒體音頻網址。我想要做的就是一起玩。如何視頻和音頻軌道添加到MediaPlaybackItem在Windows 10

here in MSDN這是寫:

使用MediaSource的播放是方便,因爲它提供了播放從各種不同的來源媒體 常見的方式,但可以訪問更多的 先進的行爲通過創建從MediaPlaybackItem MediaSource。這包括訪問和管理媒體項目的多個音頻,視頻和數據軌道的能力。

它實際上有VideoTracks和​​但它們是隻讀的。

var videoSource = MediaSource.CreateFromUri(new Uri(videoUrl)); 
var mediaPlaybackItem = new MediaPlaybackItem(videoSource); 
var videoTracks = mediaPlaybackItem.VideoTracks; 

VideoTracks集合的價值來自哪裏?

回答

1

我想要做的是發揮他們在一起。

實際上,您想要做的事可以通過Windows.Media.Editing namespace中的API實現。 UWP提供MediaComposition相關API以使用戶能夠從音頻和視頻源文件創建媒體作品。具體請參考Add a background audio track to a composition。你可以從MediaEditing official sample的場景3中找到一個樣本。此外,由於您正在嘗試編輯媒體,因此您可能需要具有媒體文件的訪問權限,因此您可能需要首先通過url將該文件下載到本地。

如何在Windows 10

視頻和音頻軌道添加到MediaPlaybackItem據我知道,目前還沒有API的支持將視頻和音頻軌道,以MediaPlaybackItem。如您所知,MediaPlaybackItem.VideoTracksMediaPlaybackItem.AudioTracks是隻讀的,用於從已包含視頻和音頻軌道的媒體獲取VideoTracks和​​。

從VideoTracks集合的價值來自哪裏?

VideoPlayback official sample的screnario 4,它調用MediaPlaybackItem.VideoTracks方法來改變視頻軌道。本示例使用本身包含多軌道視頻的特殊媒體源。我認爲這些曲目是由媒體編輯工具製作的。更多的細節你可以參考這個例子。

+0

非常感謝。我從你的回答中瞭解到,MediaPlaybackItem對我的目的沒有用處,因爲音軌已經被捆綁在文件中了。和「MediaComposition」需要這些文件是本地的。我想我必須手動同步兩個'MediaPlayer'才能進行在線媒體播放。 – Blendester

+0

我希望他們可以實現[MediaTimelineController](https://msdn.microsoft.com/en-us/windows/uwp/audio-video-camera/play-audio-and-video-with-mediaplayer#use-mediatimelinecontroller-同步內容 - 跨多個玩家)也適用於早期版本的Windows 10。 – Blendester

相關問題