DrawingML Syntax

In all three cases, the media objects themselves are stored on the slides using a picture shape. The picture shape uses a <blipFill> to show the media object on the slide’s surface. In both audio cases, the picture used is the icon image, whereas in the video case, the picture used is the poster frame for the video file.

To express this information, the standard <blipFill> element is used to refer to the image file; and because this refers to a file within the package, a relationship ID is used:

<p:pic>
  <p:nvPicPr></p:nvPicPr>
  <p:blipFill>
    <a:blip r:embed="rId4" r:link="" /> 
    <a:stretch>
      <a:fillRect /> 
    </a:stretch>
  </p:blipFill>
  <p:spPr></p:spPr>
</p:pic>

As the media objects are related to the slide’s timeline—in both the automatic and mouse-click cases—they must have interactivity information stored in the form of a hyperlink.

To express this information, a hyperlink is added to the non-visual shape properties; and because it is a hyperlink, it, too, uses a relationship ID:

<p:pic>
  <p:nvPicPr>
    <p:cNvPr id="15" name="Rectangle 15" descr="">
      <a:hlinkClick r:id="rId3" tgtFrame="" tooltip="" /> 
    </p:cNvPr>
  <p:cNvPicPr />
    <p:nvPr></p:nvPr>
  </p:nvPicPr>
  <p:blipFill></p:blipFill>
  <p:spPr></p:spPr>
</p:pic>

The final piece of information required for each media type is the source bits. In both file-based media cases, DrawingML needs to provide a mechanism to specify the location and file name for the media; this is in contrast to the CD-based audio where only track information is required. Regardless of the type of source information required, all of this is stored in application-specific non-visual properties. This is illustrated in the following three XML islands representing each of the three media cases:

CD-Audio

<p:pic>
  <p:nvPicPr><p:cNvPicPr /> 
  <p:nvPr>
    <a:audioCd>
      <a:st track="2" time="50" /> 
      <a:end track="3" time="22" /> 
    </a:audioCd>
  </p:nvPr></p:pic>

File-Audio

<p:pic>
  <p:nvPicPr><p:cNvPicPr /> 
    <p:nvPr>
      <a:audioFile r:embed="" r:link="rId1" /> 
    </p:nvPr>
  </p:nvPicPr></p:pic>

File-Video

<p:pic>
  <p:nvPicPr><p:cNvPicPr /> 
    <p:nvPr>
      <a:videoFile r:embed="" r:link="rId1" /> 
    </p:nvPr>
  </p:nvPicPr></p:pic>

In the CD-Audio case, there is no capability to choose the particular CD drive that will contain the source. This is a functional limitation.

While the default case is that media is linked, file-based media can also have the source bits included in the package as a separate part. In this case, the relationships point not to an external file but, rather, to a part inside the package.