How to insert Audio file in Word doc Using OpenXml

Viewed 187

I'm trying to insert audio file in Word doc using OpenXml. I've implemented my code but no audio file added after executing my Code. I take help OPEN XML SDK Tool 2.5 also. Code seems okay, but no audio inserted.Below is my tried code:

ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Emf);

using (var imageStream = new ExportUtils().GetBinaryDataStream())
{
    imagePart.FeedData(imageStream);
}

EmbeddedObjectPart embeddedObjectPart = mainPart.AddEmbeddedObjectPart("application/vnd.openxmlformats-officedocument.oleObject");
thumPath = GetMyFilePath(); //Audio file path

using (var objStream = new FileStream(thumPath, FileMode.Open))
{
    embeddedObjectPart.FeedData(objStream);
}

AddAudio(wordprocessingDocument, mainPart.GetIdOfPart(imagePart), mainPart.GetIdOfPart(embeddedObjectPart), posX, posY);

Audio Insertion Code

private static void AddAudio(WordprocessingDocument wordDoc, string imgRelationshipId, string objRelationshipId, int x, int y)
{

        string style = string.Format("position: absolute; margin - left:{0}pt; margin - top:{1}pt; width: 75.5pt; height: 49pt; z - index:-251657216; mso - position - horizontal - relative:text; mso - position - vertical - relative:text", x, y);

        ow.EmbeddedObject embeddedObject = new ow.EmbeddedObject() { DxaOriginal = "1440", DyaOriginal = "1440", AnchorId = "6359C433" };

        V.Shape shape = new V.Shape() { Id = "_x0000_s1026", Style = style };

        V.ImageData imageData = new V.ImageData() { Title = "Voice", RelationshipId = imgRelationshipId };

        shape.Append(imageData);
        Ovml.OleObject oleObject = new Ovml.OleObject() { Type = Ovml.OleValues.Embed, ProgId = "Package", ShapeId = "_x0000_s1026", DrawAspect = Ovml.OleDrawAspectValues.Icon, ObjectId = "_1647627410", Id = objRelationshipId };

        embeddedObject.Append(shape);
        embeddedObject.Append(oleObject);

        wordDoc.MainDocumentPart.Document.Body.AppendChild(new ow.Paragraph(new ow.Run(embeddedObject)));
 }

My project: x64

0 Answers
Related