2010-09-22 28 views
2

Je travaille sur un complément VSTO PowerPoint 2010 qui permettra à l'utilisateur de lire un objet multimédia (vidéo ou audio) sous forme de fenêtres à l'aide du contrôle Windows Media Player.PowerPoint Ouvrir par programme/lire mediaobject en complément

De quelle manière puis-je extraire l'objet multimédia incorporé et le lire à l'utilisateur?

J'ai accès au nom des objets, cela suffira-t-il pour accéder à l'objet incorporé?

+0

Avez-vous vérifié cette question? http://stackoverflow.com/questions/3550417/programmatically-extract-embedded-file-from-powerpoint-presentation – Mathias

Répondre

2

Un peu oui et non.

  • Le "Non". Grâce à VBA et VSTO, la réponse est non ou au moins je ne l'ai jamais vu faire auparavant et n'ai aucune idée. J'ai déjà regardé cela et je n'ai pas trouvé que c'était possible.

  • Le "Kinda Yes". Tout média intégré en 2007/2010 peut être extrait via Open XML. Voici où le "kinda" entre - vous pouvez l'extraire aussi longtemps que vous savez ce que vous extrayez. Cela semble assez facile, mais ce n'est pas le cas. Lorsque vous insérez un élément vidéo ou audio, il est intégré dans une forme. Cette forme reçoit un nom [], qui est le nom de fichier du fichier audio/vidéo. Donc, si j'insère l'exemple de vidéo fourni avec Win7, mon nom de forme qui contient la vidéo est "wildlife.wmv". Il peut facilement être renommé par un utilisateur final qui sait comment le faire (le volet de sélection dans le client) et dans ce cas, il serait impossible de trouver basé sur le simple fait d'avoir le nom.

    Mais s'il n'a pas été renommé, vous devez ouvrir une copie en mémoire de votre .pptx en Open XML, rechercher le nom dans chacune des diapositives du dossier/ppt/slides/et une fois trouvé, utilisez son identifiant de relation pour localiser son nom dans le dossier/ppt/media. Ensuite, vous pouvez la retirer, enregistrez-le sur le disque, jouer, etc.

cependant, PowerPoint, renomme le fichier basé sur une convention de nommage interne. Mon "wildlife.wmv" est renommé "media1.wmv" dans le paquet. Les éléments multimédias suivants seront nommés media2.wmv, media1.mpg, etc.

+1

Hi Otaku avez-vous peut-être un exemple de code qui peut accomplir cela? – alex