PowerPoint C#にオーディオを挿入する

さまざまな場合、プレゼンターはプレゼンテーションにサウンドまたはオーディオクリップを含めます。 MS PowerPointは、サウンドをスライドに挿入するためのオーディオフレームを提供します。この記事では、プレゼンテーションのオーディオフレームの操作を自動化する方法を学習します。特に、この記事では、C#を使用してPowerPointプレゼンテーションでオーディオフレームを挿入または抽出する方法について説明します。

PowerPointでオーディオフレームを挿入または抽出するためのC#API

PowerPointプレゼンテーションでオーディオフレームを追加または抽出するには、Aspose.Slides for .NETを使用します。これは、PowerPointおよびOpenOfficeプレゼンテーションの作成と操作を自動化できるクラスライブラリです。 APIは、NuGetまたはダウンロードそのDLLを介してインストールできます。

PM> Install-Package Aspose.Slides.NET

C#を使用してPowerPointプレゼンテーションにオーディオフレームを挿入する

以下は、C#を使用してPowerPointプレゼンテーションにオーディオを挿入する手順です。

  • まず、Presentationクラスを使用して、新しいプレゼンテーションを作成するか、既存のプレゼンテーションをロードします。
  • 次に、オーディオをファイルからFileStreamオブジェクトにロードします。
  • ISlide.Shapes.AddAudioFrameEmbedded(Single, Single, Single, Single, Stream)メソッドを使用してオーディオをプレゼンテーションに挿入し、返されたオーディオフレームの参照をIAudioFrameオブジェクトに取得します。
  • PlayMode、Volumeなどの追加のプロパティを設定します。
  • 最後に、Presentation.Save(String, SaveFormat)メソッドを使用してプレゼンテーションを保存します。

次のコードサンプルは、PowerPointプレゼンテーションにオーディオを挿入する方法を示しています。

// プレゼンテーションを読み込む
using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx"))
{
    // 最初のスライドを取得
    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.OnClick;

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

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

    // オーディオをループしないように設定します
    audioFrame.PlayLoopMode = false;

    // スライドショー中にAudioFrameを非表示にする
    audioFrame.HideAtShowing = true;

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

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

C#を使用してPowerPointプレゼンテーションでオーディオフレームを抽出する

既存のPowerPointプレゼンテーションからオーディオフレームを抽出することもできます。この操作を実行する手順は次のとおりです。

  • まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
  • 次に、Presentation.SlidesコレクションからISlideオブジェクトに目的のスライドを取得します。
  • ISlideShowTransitionオブジェクトへのスライドショートランジションのリファレンスを取得します。
  • ISlideShowTransition.Sound.BinaryDataからbyte[]配列にサウンドデータを取得します。
  • 最後に、バイト配列を使用するか、ファイルとして保存します。

次のコードサンプルは、C#を使用してPowerPointプレゼンテーションからオーディオを抽出する方法を示しています。

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);

無料のAPIライセンスを取得する

無料の一時ライセンスを取得することで、評価の制限なしにAspose.Slides for .NETを使用できます。

結論

この記事では、C#を使用してPowerPointプレゼンテーションにオーディオを挿入する方法を学習しました。さらに、プログラムでプレゼンテーションからオーディオクリップを抽出する方法を見てきました。さらに、ドキュメントを調べて、Aspose.Slides for .NETの詳細を学ぶことができます。さらに、あなたは私たちのフォーラムにあなたの質問を投稿することができます。

関連項目

ヒント:ビデオクリップからオーディオを抽出する必要がある場合は、AsposeMP4からMP3へのコンバーターを使用して作業を行うことができます。