以编程方式将音频添加到演示文稿幻灯片和自动播放

问题描述 投票:0回答:1

我想将预先录制的 mp3 添加到演示幻灯片中,并在幻灯片显示时播放。这是我的代码,但它根本不播放音频。如何使用 OpenXML 并将音频文件添加到演示文稿中?

public void AddVideoToPresentation(PresentationDocument presentationDocument, string audioFilePath)
 {
     int PicID = 915;
     PresentationPart presentationPart = presentationDocument.PresentationPart;
     var slideCount = presentationPart.Presentation.SlideIdList.Count();
     var videoEmbedId = string.Format("audioId{0}{1}", slideCount, PicID++);
     var mediaEmbedId = string.Format("medId{0}{1}", slideCount, PicID++);

     SlidePart slidepart = presentationDocument.PresentationPart.SlideParts.LastOrDefault();

     MediaDataPart mediaDataPart1 = presentationDocument.CreateMediaDataPart("audio/mp3", "mp3");
     System.IO.Stream mediaDataPart1Stream = File.OpenRead(audioFilePath);
     mediaDataPart1.FeedData(mediaDataPart1Stream);
     mediaDataPart1Stream.Close();

     slidepart.AddAudioReferenceRelationship(mediaDataPart1, videoEmbedId);
     slidepart.AddMediaReferenceRelationship(mediaDataPart1, mediaEmbedId);

     slidepart.Slide.Save();
 }
powerpoint openxml office-interop openxml-sdk
1个回答
0
投票

这相当复杂,因为它涉及动画时间轴。

您通常解决这个问题的方法是创建一个具有您想要的单个功能的单个幻灯片(例如插入音频,然后在“播放”选项卡中将其设置为自动播放)。然后将其放入 OpenXML SDK Productivity Tool 中(从 https://github.com/dotnet/Open-XML-SDK 获取)。然后添加简单的牌组,并让该工具将您的牌组反映为 C# 代码。

从那里开始,您必须通读并破译如何重新创建您需要的内容。例如:enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.