PowerPoint Программно открывать / воспроизводить медиаобъект в надстройке - PullRequest
2 голосов
/ 23 сентября 2010

Я работаю над надстройкой VSTO PowerPoint 2010, которая позволит пользователю воспроизводить мультимедийный объект (видео или аудио) в форме Windows с помощью элемента управления Windows Media Player.

Каким образом я могуизвлечь встроенный медиа-объект и воспроизвести его для пользователя?

У меня есть доступ к имени объекта, этого будет достаточно, чтобы добраться до встроенного объекта?

1 Ответ

2 голосов
/ 24 сентября 2010

Вроде да и нет.

  • «Нет» . Через VBA и VSTO ответ - нет или, по крайней мере, я никогда не видел, чтобы это было сделано раньше, и понятия не имею. Я смотрел на это раньше и не нашел это возможным.

  • «Да, конечно» . Любые встроенные носители в 2007/2010 могут быть извлечены через Open XML. Вот где появляется "своего рода" - вы можете извлечь его, если вы знаете, что вы извлекаете. Звучит достаточно просто, но это не так. Когда вы вставляете видео или аудио часть, она встраивается в форму. Этой форме присваивается имя [ 1 ] , которое является именем файла аудио / видео файла. Поэтому, если я вставлю пример видео, которое поставляется с Win7, мое имя фигуры, которое содержит видео, - «wildlife.wmv». Он может быть легко переименован конечным пользователем, который знает, как это сделать (область выбора в клиенте), и в этом случае его невозможно будет найти, основываясь только на имени.

    Но если он не был переименован, вы откроете копию вашего .pptx в памяти в Open XML, произведете поиск по имени на каждом из слайдов в папке / ppt / slides / и, найдя его, используйте это идентификатор отношения, чтобы найти его имя в папке / ppt / media. Затем вы можете извлечь его, сохранить на диск, воспроизвести и т. Д.

1 PowerPoint, однако, переименовывает файл в соответствии с внутренним соглашением об именах. Мой "wildlife.wmv" переименован в media1.wmv внутри пакета. Последующие элементы мультимедиа будут называться media2.wmv, media1.mpg и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...