Я работаю над надстройкой PowerPoint 2007 VSTO, и у меня небольшая проблема. Надстройка добавляет звуки к текущему слайду, используя следующий код:
var shape = slide.Shapes.AddMediaObject(soundFileLocation, 50, 50, 20, 20);
Полученная форма имеет звук и может быть воспроизведена через слайд PowerPoint. Моя проблема в том, что, учитывая ссылку на созданную таким образом фигуру, я хотел бы программно воспроизвести звук, но не могу найти способ сделать это. Я пытался
var soundEffect = shape.AnimationSettings.SoundEffect;
soundEffect.Play();
но происходит сбой / сбой, и когда я проверяю soundEffect, его типом является ppSoundNone.
Редактировать: получил частичный успех с
var shape = slide.Shapes.AddMediaObject(fileLocation, 50, 50, 20, 20);
shape.AnimationSettings.SoundEffect.ImportFromFile(fileLocation);
Это позволяет мне воспроизводить звук с помощью:
var animationSettings = shape.AnimationSettings;
var soundEffect = shape.AnimationSettings.SoundEffect;
soundEffect.Play();
Однако есть одна серьезная проблема; это работает только для последней добавленной фигуры. По какой-то причине shape.AnimationSettings.SoundEffect.ImportFromFile (fileLocation), по-видимому, сбрасывает свойство SoundEffect в ppSoundNone для ранее созданных фигур ...
Я был бы удивлен, если бы это было неосуществимо, но я не могу найти, как - любая помощь будет высоко ценится!