2017-01-29 7 views
0

У меня есть URL-адрес видео и аудио-url для того же носителя. Я хочу сделать это вместе.Как добавить видео и аудиодорожки в MediaPlaybackItem в Windows 10

here in MSDN написано:

Использования MediaSource для воспроизведения удобен тем, что она обеспечивает общего способ для воспроизведения мультимедиа из разных видов источников, но более передовых поведения можно получить путем создания MediaPlaybackItem из MediaSource. Это включает в себя возможность доступа и управления несколькими дорожками аудио, видео и данных для мультимедийного элемента.

И на самом деле у него есть VideoTracks и AudioTracks, но они только для чтения.

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

Откуда взята коллекция VideoTracks?

ответ

1

Что я хочу сделать, это сыграть их вместе.

Фактически то, что вы хотите сделать, может быть реализовано API-интерфейсом в Windows.Media.Editing namespace. UWP предоставляет MediaComposition относительные API, позволяющие пользователям создавать медиа-композиции из аудио и видео исходных файлов. Подробнее о том, как это сделать, пожалуйста, обратитесь к Add a background audio track to a composition. И вы можете найти образец из сценария 3 из MediaEditing official sample. Кроме того, поскольку вы пытаетесь отредактировать носитель, вам может потребоваться разрешение на доступ к медиафайлу, поэтому вам может потребоваться сначала загрузить файл по URL-адресу локально.

Как добавить видео и аудио дорожек MediaPlaybackItem в Windows 10

Насколько мне известно, в настоящее время нет API, поддержка добавления видео и аудио дорожек в MediaPlaybackItem. Как вы знаете, только MediaPlaybackItem.VideoTracks и MediaPlaybackItem.AudioTracks являются только для чтения, которые предназначены для получения VideoTracks и AudioTracks со среды, на которой уже есть видео- и аудиодорожки.

Откуда взялась коллекция VideoTracks?

В screnario 4 VideoPlayback official sample, это вызвать 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- to-synchronize-content-through-multiple-players) для более ранних версий Windows 10. – Blendester