オーディオフレーム - C#を使用してPowerPointにオーディオを挿入および抽出する

オーディオフレームを作成する

Aspose.Slides for .NETを使用すると、スライドにオーディオファイルを追加できます。オーディオファイルはオーディオフレームとしてスライドに埋め込まれます。

  1. Presentationクラスのインスタンスを作成します。
  2. インデックスを介してスライドの参照を取得します。
  3. スライドに埋め込むオーディオファイルのストリームをロードします。
  4. スライドに埋め込まれたオーディオフレーム(オーディオファイルを含む)を追加します。
  5. PlayModeおよびIAudioFrameオブジェクトによって公開されるVolumeを設定します。
  6. 修正されたプレゼンテーションを保存します。

このC#コードは、スライドに埋め込まれたオーディオフレームを追加する方法を示しています:

// プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化する
using (Presentation pres = new Presentation())
{
    // 最初のスライドを取得する
    ISlide sld = pres.Slides[0];
    
    // wavサウンドファイルをストリームにロードする
    FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read);

    // オーディオフレームを追加する
    IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr);

    // オーディオの再生モードと音量を設定する
    audioFrame.PlayMode = AudioPlayModePreset.Auto;
    audioFrame.Volume = AudioVolumeMode.Loud;

    // PowerPointファイルをディスクに書き込む
    pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx);
}

オーディオフレームのサムネイルを変更する

プレゼンテーションにオーディオファイルを追加すると、オーディオは標準のデフォルト画像を持つフレームとして表示されます(下のセクションの画像を参照)。オーディオフレームのサムネイルを変更することができます(好みの画像を設定します)。

このC#コードは、オーディオフレームのサムネイルまたはプレビュー画像を変更する方法を示しています:

using (var presentation = new Presentation())
{
    var slide = presentation.Slides[0];

    // 指定された位置とサイズでスライドにオーディオフレームを追加する。
    var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read);
    var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream);
    audioStream.Dispose();

    // プレゼンテーションリソースに画像を追加する。
    var imageStream = File.OpenRead("eagle.jpeg");
    var audioImage = presentation.Images.AddImage(imageStream);
    imageStream.Dispose();

    // オーディオフレームの画像を設定する。
    audioFrame.PictureFormat.Picture.Image = audioImage; // <-----
    
    // 修正されたプレゼンテーションをディスクに保存
    presentation.Save("example_out.pptx", SaveFormat.Pptx);
}

オーディオ再生オプションを変更する

Aspose.Slides for .NETを使用すると、オーディオの再生やプロパティを制御するオプションを変更できます。たとえば、オーディオの音量を調整したり、オーディオをループ再生するように設定したり、オーディオアイコンを隠すこともできます。

Microsoft PowerPointのオーディオオプションパネル:

example1_image

PowerPointのオーディオオプションは、Aspose.SlidesのAudioFrameプロパティに対応しています:

  • オーディオオプションの開始ドロップダウンメニューは、AudioFrame.PlayModeプロパティに一致します
  • オーディオオプションの音量は、AudioFrame.Volumeプロパティに一致します
  • オーディオオプションのスライド間再生は、AudioFrame.PlayAcrossSlidesプロパティに一致します
  • オーディオオプションの停止するまでループは、AudioFrame.PlayLoopModeプロパティに一致します
  • オーディオオプションのスライドショー中に隠すは、AudioFrame.HideAtShowingプロパティに一致します
  • オーディオオプションの再生後に巻き戻すは、AudioFrame.RewindAudioプロパティに一致します

オーディオ再生オプションを変更する方法は次のとおりです:

  1. オーディオフレームを作成または取得します。
  2. 調整したいオーディオフレームプロパティの新しい値を設定します。
  3. 修正されたPowerPointファイルを保存します。

このC#コードは、オーディオのオプションを調整する操作を示しています:

using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx"))
{
    // AudioFrameシェイプを取得します
    AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0];

    // 再生モードをクリック時に変更
    audioFrame.PlayMode = AudioPlayModePreset.OnClick;

    // 音量を低く設定
    audioFrame.Volume = AudioVolumeMode.Low;

    // オーディオをスライド間で再生するように設定
    audioFrame.PlayAcrossSlides = true;

    // オーディオのループを無効にする
    audioFrame.PlayLoopMode = false;

    // スライドショー中にAudioFrameを隠す
    audioFrame.HideAtShowing = true;

    // 再生後にオーディオを巻き戻す
    audioFrame.RewindAudio = true;

    // PowerPointファイルをディスクに保存
    pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
}

オーディオを抽出する

Aspose.Slides for .NETを使用すると、スライドショーのトランジションで使用される音声を抽出できます。たとえば、特定のスライドで使用される音声を抽出できます。

  1. Presentationクラスのインスタンスを作成し、オーディオを含むプレゼンテーションをロードします。
  2. インデックスを介して関連するスライドの参照を取得します。
  3. スライドのスライドショートランジションにアクセスします。
  4. バイトデータでサウンドを抽出します。

このC#コードは、スライドで使用されるオーディオを抽出する方法を示しています:

string presName = "AudioSlide.pptx";

// プレゼンテーションファイルを表すプレゼンテーションクラスをインスタンス化する
Presentation pres = new Presentation(presName);

// スライドにアクセスする
ISlide slide = pres.Slides[0];

// スライドのスライドショートランジション効果を取得する
ISlideShowTransition transition = slide.SlideShowTransition;

//バイト配列で音声を抽出する
byte[] audio = transition.Sound.BinaryData;

System.Console.WriteLine("Length: " + audio.Length);