オーディオフレーム
Contents
[
Hide
]
オーディオフレームの作成
Aspose.Slides for PHP via Javaを使用すると、スライドにオーディオファイルを追加できます。オーディオファイルはスライドにオーディオフレームとして埋め込まれます。
- Presentationクラスのインスタンスを作成します。
- インデックスを通じてスライドの参照を取得します。
- スライドに埋め込むオーディオファイルのストリームをロードします。
- スライドに埋め込まれたオーディオフレーム(オーディオファイルを含む)を追加します。
- PlayModeとIAudioFrameオブジェクトによって公開された
Volume
を設定します。 - 修正されたプレゼンテーションを保存します。
このPHPコードは、スライドに埋め込まれたオーディオフレームを追加する方法を示しています:
// プレゼンテーションファイルを表すPresentationクラスをインスタンス化
$pres = new Presentation();
try {
# 最初のスライドを取得
$sld = $pres->getSlides()->get_Item(0);
# wav音声ファイルをストリームにロード
$fstr = new Java("java.io.FileInputStream", new Java("java.io.File", "audio.wav"));
# オーディオフレームを追加
$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(JavaException e) {
} finally {
if (!java_is_null($pres)) $pres.dispose();
}
オーディオフレームのサムネイルを変更
プレゼンテーションにオーディオファイルを追加すると、オーディオは標準のデフォルト画像を持つフレームとして表示されます(以下のセクションの画像参照)。オーディオフレームのプレビュー画像を変更します(好みの画像を設定)。
このPHPコードは、オーディオフレームのサムネイルまたはプレビュー画像を変更する方法を示しています:
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
# 指定された位置とサイズでスライドにオーディオフレームを追加
$audioStream = new Java("java.io.FileInputStream", "sample2.mp3");
$audioFrame = $slide->getShapes()->addAudioFrameEmbedded(150, 100, 50, 50, $audioStream);
$audioStream->close();
# プレゼンテーションリソースに画像を追加
$picture;
$image = Images->fromFile("eagle.jpeg");
try {
$picture = $presentation->getImages()->addImage($image);
} finally {
if (!java_is_null($image)) {
$image->dispose();
}
}
# オーディオフレームの画像を設定
$audioFrame->getPictureFormat()->getPicture()->setImage($picture);// <-----
# 修正されたプレゼンテーションをディスクに保存
$presentation->save("example_out.pptx", SaveFormat::Pptx);
} catch (JavaException $e) {
} finally {
if (!java_is_null($presentation)) {
$presentation->dispose();
}
}
オーディオ再生オプションの変更
Aspose.Slides for PHP via Javaを使用すると、オーディオの再生やプロパティを制御するオプションを変更できます。たとえば、オーディオの音量を調整したり、オーディオをループ再生したり、オーディオアイコンを非表示にすることができます。
Microsoft PowerPointのオーディオオプションパネル:
PowerPointオーディオオプションは、Aspose.SlidesのAudioFrameプロパティに対応しています:
- オーディオオプションの開始ドロップダウンリストは、AudioFrame.PlayModeプロパティに一致します
- オーディオオプションの音量はAudioFrame.Volumeプロパティに一致します
- オーディオオプションのスライド全体で再生はAudioFrame.PlayAcrossSlidesプロパティに一致します
- オーディオオプションの停止するまでループはAudioFrame.PlayLoopModeプロパティに一致します
- オーディオオプションのスライドショー中に非表示はAudioFrame.HideAtShowingプロパティに一致します
- オーディオオプションの再生後に巻き戻すはAudioFrame.RewindAudioプロパティに一致します
オーディオ再生オプションを変更する方法は次のとおりです:
- オーディオフレームを作成または取得します。
- 調整したいオーディオフレームプロパティに新しい値を設定します。
- 修正されたPowerPointファイルを保存します。
このPHPコードは、オーディオのオプションを調整する操作を示しています:
$pres = new Presentation("AudioFrameEmbed_out.pptx");
try {
# 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 (!java_is_null($pres)) {
$pres->dispose();
}
}
オーディオの抽出
Aspose.Slides for PHP via Javaを使用すると、スライドショーのトランジションで使用される音を抽出できます。たとえば、特定のスライドで使用されている音を抽出できます。
- Presentationクラスのインスタンスを作成し、スライドトランジションを含むプレゼンテーションをロードします。
- 希望のスライドにアクセスします。
- スライドのスライドショートランジションにアクセスします。
- バイトデータで音を抽出します。
このコードは、スライドで使用されているオーディオを抽出する方法を示しています:
# プレゼンテーションファイルを表すPresentationクラスをインスタンス化
$pres = new Presentation("AudioSlide.pptx");
$Array = new java_class("java.lang.reflect.Array");
try {
# 希望のスライドにアクセス
$slide = $pres->getSlides()->get_Item(0);
# スライドのスライドショートランジション効果を取得
$transition = $slide->getSlideShowTransition();
# バイト配列で音を抽出
$audio = $transition->getSound()->getBinaryData();
echo("長さ: " . $Array->getLength($audio));
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}