0

我制作了一个测试视频来检查 PP 链接的准确性。如果有人单击文本,则视频应从开始书签播放到结束书签。它并不总是在结束书签上停止!为什么?powerpoint 上的性能问题?

我想放图像,但我不能,因为我需要至少 10 个声望。

更新: 我正在使用操作设置。

带触发器的代码

Private Sub setStartAndEndPointOnVideoTrigger(activeSlide As Slide, clickShape As Shape, movieShape As Shape, _
                          startBookmark As MediaBookmark, endBookmark As MediaBookmark)

   Dim oEffectStart As Effect
   Dim oEffectEnd As Effect
   Dim obhvEffect As AnimationBehavior
   Dim delayTime As Double

   delayTime = (endBookmark.Position - startBookmark.Position) / 1000

   With activeSlide
   Set oEffectStart = .TimeLine.InteractiveSequences.Add _
                        .AddTriggerEffect(movieShape, msoAnimEffectMediaPlayFromBookmark, _
                        msoAnimTriggerOnShapeClick, clickShape, startBookmark.Name)

   Set oEffectEnd = .TimeLine.InteractiveSequences.Add _
                        .AddTriggerEffect(movieShape, msoAnimEffectMediaPause, _
                        msoAnimTriggerOnShapeClick, clickShape)

   Set obhvEffect = oEffectStart.Behaviors.Add(msoAnimTypeCommand)
   obhvEffect.CommandEffect.Bookmark = startBookmark.Name

   oEffectEnd.Timing.TriggerType = msoAnimTriggerWithPrevious
   oEffectEnd.Timing.TriggerDelayTime = delayTime
   End With

   End Sub
4

1 回答 1

0

由于我对 2010 版本中的一些新方法不太熟悉,因此可能存在其他问题,但是,您使用 With 语句似乎可能存在一些问题。尝试这个:

Private Sub setStartAndEndPointOnVideoTrigger(activeSlide As Slide, clickShape As Shape, movieShape As Shape, _
                          startBookmark As MediaBookmark, endBookmark As MediaBookmark)

    Dim oEffectStart As Effect
    Dim oEffectEnd As Effect
    Dim obhvEffect As AnimationBehavior
    Dim delayTime As Double

    delayTime = (endBookmark.Position - startBookmark.Position) / 1000

    With activeSlide.TimeLine.InteractiveSequences

        With .Add(1)
            Set oEffectStart = .AddTriggerEffect(movieShape, msoAnimEffectMediaPlayFromBookmark, _
                                msoAnimTriggerOnShapeClick, clickShape, startBookmark.Name)
        End With

        With .Add(2)
            Set oEffectEnd = .AddTriggerEffect(movieShape, msoAnimEffectMediaPause, _
                            msoAnimTriggerOnShapeClick, clickShape)
        End With

    End With

    Set obhvEffect = oEffectStart.Behaviors.Add(msoAnimTypeCommand)
    obhvEffect.CommandEffect.Bookmark = startBookmark.Name

    oEffectEnd.Timing.TriggerType = msoAnimTriggerWithPrevious
    oEffectEnd.Timing.TriggerDelayTime = delayTime

End Sub
于 2013-03-26T17:43:57.077 回答