簡體   English   中英

使用 VBA 在 Powerpoint 中的一張幻燈片上靜音和取消靜音多個音頻媒體

[英]Muting and Unmuting multiple audio media on one slide in Powerpoint using VBA

我在 Windows 10 上使用 PowerPoint 2016。幻燈片 A 有一個文本框和一個命令按鈕。 當命令按鈕被選中時,一個布爾gbool被設置並且演示文稿前進到幻燈片 B。

ActivePresentation.SlideShowWindow.View.GotoSlide <slideB slideindex> 

在幻燈片 B 上,有兩個音頻媒體對象,AM1 和 AM2。 我想要發生的是,如果gbool為 True,那么 AM1 應該播放,否則 AM2 應該播放。 我已經使用靜音標志來嘗試這個:

Shape.MediaFormat.Muted = False

我的問題是,這有時有效,有時兩個音頻媒體都會播放。 代碼如下所示:

Private Sub CommandButton1_Click()
    Dim osl As Slide, oSh As Shape, gbool As Boolean
    gbool = function()

    Set osl = ActivePresentation.Slides(<slideB slideindex>)
    Set oSh = osl.Shapes("AM1")
    oSh.MediaFormat.Muted = gbool
    Set oSh = osl.Shapes("AM2")
    oSh.MediaFormat.Muted = Not gbool

   ActivePresentation.SlideShowWindow.View.GotoSlide <slideB slideindex>
End Sub

關於隨機行為的任何想法,有沒有更好的方法來做到這一點?

我想我有一個答案——至少這種方法一直有效。 我現在不使用 MediaFormat 對象的靜音屬性,而是使用播放設置對象的 PlayOnEntry 屬性。 所以變化看起來像這樣:

Set osl = ActivePresentation.Slides(<slideB slideindex>)
Set oSh = osl.Shapes("AM1")
oSh.AnimationSettings.PlaySettings.PlayOnEntry = gbool
Set oSh = osl.Shapes("AM2")
oSh.AnimationSettings.PlaySettings.PlayOnEntry = Not gbool

如果有更好的方法,我將不勝感激。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM