【发布时间】:2011-03-23 12:05:16
【问题描述】:
我正在开发 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 用于先前创建的形状...
如果这不可行,我会感到惊讶,但我似乎无法找到方法 - 任何帮助将不胜感激!
【问题讨论】:
标签: automation audio vsto powerpoint