отображение субтитров для видео в мультимедийном элементе WPF - PullRequest
0 голосов
/ 30 июля 2009

Я работаю над приложением WPF, которое отображает видеоклипы как часть рабочего процесса. Я делаю это с помощью MediaElement для воспроизведения локально размещенных (а не потоковых) файлов AVI. Прекрасно работает.

Однако мне только что передали новое требование разрешить отображение субтитров во время воспроизведения клипа. Я понятия не имею, как лучше всего это сделать. Я смутно осознаю, что WMP может отображать отдельные файлы субтитров во время воспроизведения клипа, но я не знаю, поддерживает ли WPF это?

Могу ли я сделать это изначально в WPF? Если нет, какие у меня варианты?

Мой запасной подход заключается в том, чтобы клиент запекал субтитры непосредственно в видеофайл, но я бы предпочел найти лучший способ справиться с этим.

Ответы [ 2 ]

1 голос
/ 30 июля 2009

Что ж, если ваше требование к субтитрам - это просто наложение текста на MediaElement, то да, WPF, безусловно, может это поддерживать. Вам просто нужно поместить MediaElement в сетку вместе с TextBlock.

Настоящим трюком будет изменение свойства TextBlock Text в соответствии с временем в MediaElement. Но, вероятно, есть много способов сделать это; первое, что приходит на ум, - это использование триггера, связанного со свойством MediaElement.Position .

0 голосов
/ 23 мая 2012

В WPF вам нужно проанализировать файл субтитров и синхронизировать, у вас нет события, подобного MarkerReached в Silverlight. Но вы можете создать smi (SAMI-файл) с тем же именем файла, что и ваше видео, и поместить его в ту же папку. Затем подпишитесь на событие ScriptCommand и покажите содержимое в текстовом блоке наложения.

...