Как получить встроенное видео в PowerPoint?

#c# #video #powerpoint #media

Вопрос:

Как получить встроенное видео в PowerPoint. Я уже знаю, что видео помещается в папку Мультимедиа и что файл PPTX на самом деле является архивированным файлом.

Вот мой код:

  originalSlide = originalSlides[counter];
            foreach (Microsoft.Office.Interop.PowerPoint.Shape shape in originalSlide.Shapes)
            {
                if(shape.Type == MsoShapeType.msoMedia)
                {
                    Console.WriteLine("msoMedia detected...");

                    if (shape.MediaType == PpMediaType.ppMediaTypeMovie)
                    {
                        float x = shape.Left;
                        float y = shape.Top;
                        float w = shape.Width;
                        float h = shape.Height;

                        Console.WriteLine("video detected..."); 
                        ...
 

Я не могу восстановить название носителя.

Как отличить встроенное видео от связанного видео (форма.Линкоформат.Имя источника)?

Заранее спасибо.

Комментарии:

1. >>> Как отличить встроенное видео от связанного видео (форма. Линкоформат. Имя источника)? Если вы спросите . Линкоформат. SourceFullName, он вернет путь к связанному файлу ИЛИ, если видео встроено, либо вернет значение null, либо выдаст ошибку. >>>Как получить встроенное видео, пожалуйста, уточните, что вам нужно. Подозреваю, чего-то не хватает. «что ??? встроенное видео» … Имя видео, файла или ???

2. Встроенные видео переименовываются в нечто вроде media1.wmv с помощью PowerPoint. Окончание файла остается таким же, как в исходном файле, но имя исчезло. Только связанные видео сохраняют исходное имя файла и путь к нему.

3. Хорошо, спасибо. Итак, невозможно получить имя носителя, media1.wmv, например, в объекте shape?