オーディオフレーム

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

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

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

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

// プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成する
Presentation pres = new Presentation();
try {
    // 最初のスライドを取得する
    ISlide sld = pres.getSlides().get_Item(0);

    // wav音声ファイルをストリームに読み込む
    FileInputStream fstr = new FileInputStream(new File("audio.wav"));

    // オーディオフレームを追加する
    IAudioFrame audioFrame = sld.getShapes().addAudioFrameEmbedded(50, 150, 100, 100, fstr);
    fstr.close();
    
    // オーディオのプレイモードとボリュームを設定する
    audioFrame.setPlayMode(AudioPlayModePreset.Auto);
    audioFrame.setVolume(AudioVolumeMode.Loud);

    // PowerPointファイルをディスクに書き込む
    pres.save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

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

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

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

Presentation presentation = new Presentation();
try {
    ISlide slide = presentation.getSlides().get_Item(0);

    // 指定された位置とサイズでスライドにオーディオフレームを追加する。
    FileInputStream audioStream = new FileInputStream("sample2.mp3");
    IAudioFrame audioFrame = slide.getShapes().addAudioFrameEmbedded(150, 100, 50, 50, audioStream);
    audioStream.close();

    // プレゼンテーションリソースに画像を追加。
    IPPImage picture;
    IImage image = Images.fromFile("eagle.jpeg");
    try {
        picture = presentation.getImages().addImage(image);
    } finally {
        if (image != null) image.dispose();
    }

    // オーディオフレームに画像を設定する。
    audioFrame.getPictureFormat().getPicture().setImage(picture); // <-----

    // 修正されたプレゼンテーションをディスクに保存
    presentation.save("example_out.pptx", SaveFormat.Pptx);
} catch(IOException e) {
} finally {
    if (presentation != null) presentation.dispose();
}

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

Aspose.Slides for Android via Javaを使用すると、オーディオの再生やプロパティを制御するオプションを変更できます。たとえば、オーディオのボリュームを調整したり、オーディオをループ再生したり、オーディオアイコンを非表示にすることができます。

Microsoft PowerPointのオーディオオプションペイン:

example1_image

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

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

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

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

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

Presentation pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
    // AudioFrame形状を取得する
    AudioFrame audioFrame = (AudioFrame)pres.getSlides().get_Item(0).getShapes().get_Item(0);

    // プレイモードをクリック時に再生するように設定する
    audioFrame.setPlayMode(AudioPlayModePreset.OnClick);

    // ボリュームを小に設定する
    audioFrame.setVolume(AudioVolumeMode.Low);

    // スライド間で再生するように設定する
    audioFrame.setPlayAcrossSlides(true);

    // オーディオのループ再生を無効にする
    audioFrame.setPlayLoopMode(false);

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

    // 再生後にオーディオを巻き戻す
    audioFrame.setRewindAudio(true);

    // PowerPointファイルをディスクに保存する
    pres.save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

オーディオの抽出

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

  1. Presentationクラスのインスタンスを作成し、スライドトランジションを含むプレゼンテーションをロードします。
  2. 対象のスライドにアクセスします。
  3. スライドのスライドショートランジションにアクセスします。
  4. バイトデータで音声を抽出します。

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

// プレゼンテーションファイルを表すPresentationクラスのインスタンスを作成する
Presentation pres = new Presentation("AudioSlide.pptx");
try {
    // 対象のスライドにアクセスする
    ISlide slide = pres.getSlides().get_Item(0);
    
    // スライドのスライドショートランジション効果を取得する
    ISlideShowTransition transition = slide.getSlideShowTransition();
    
    // 音声をバイト配列で抽出する
    byte[] audio = transition.getSound().getBinaryData();
    System.out.println("長さ: " + audio.length);
} finally {
    if (pres != null) pres.dispose();
}