Správa audio rámců v prezentacích v .NET
Přehled
Tento článek vysvětluje, jak pracovat s audio rámci v Aspose.Slides. Ukazuje, jak přidat vložený zvuk do snímků, přizpůsobit miniaturu audio rámce, nakonfigurovat možnosti přehrávání, jako je hlasitost, smyčkování, skrývání, ořezávání a dobu setrvačnosti, a extrahovat zvuk použité v přechodech prezentace.
Vytvoření audio rámců
Aspose.Slides pro .NET vám umožňuje přidávat audio soubory do snímků. Audio soubory jsou do snímků vloženy jako audio rámy.
- Vytvořte instanci třídy Presentation.
- Získejte odkaz na snímek pomocí jeho indexu.
- Načtěte stream audio souboru, který chcete vložit do snímku.
- Přidejte vložený audio rám (obsahující audio soubor) do snímku.
- Nastavte PlayMode a
Volumezveřejněné objektem IAudioFrame. - Uložte upravenou prezentaci.
Tento C# kód vám ukazuje, jak přidat vložený audio rám do snímku:
// Vytvoří instanci třídy prezentace, která představuje soubor prezentace
using (Presentation pres = new Presentation())
{
// Získá první snímek
ISlide sld = pres.Slides[0];
// Načte WAV zvukový soubor do proudu
FileStream fstr = new FileStream("sampleaudio.wav", FileMode.Open, FileAccess.Read);
// Přidá audio rám
IAudioFrame audioFrame = sld.Shapes.AddAudioFrameEmbedded(50, 150, 100, 100, fstr);
// Nastaví režim přehrávání a hlasitost audia
audioFrame.PlayMode = AudioPlayModePreset.Auto;
audioFrame.Volume = AudioVolumeMode.Loud;
// Zapíše soubor PowerPoint na disk
pres.Save("AudioFrameEmbed_out.pptx", SaveFormat.Pptx);
}
Změna miniatury audio rámce
Když přidáte audio soubor do prezentace, zvuk se zobrazí jako rám s výchozím standardním obrázkem (viz obrázek v následující sekci). Můžete změnit miniaturu audio rámce (nastavit svůj preferovaný obrázek).
Tento C# kód vám ukazuje, jak změnit miniaturu nebo náhledový obrázek audio rámce:
using (var presentation = new Presentation())
{
var slide = presentation.Slides[0];
// Přidá audio rám do snímku se zadanou polohou a velikostí.
var audioStream = new FileStream("sample2.mp3", FileMode.Open, FileAccess.Read);
var audioFrame = slide.Shapes.AddAudioFrameEmbedded(150, 100, 50, 50, audioStream);
audioStream.Dispose();
// Přidá obrázek do zdrojů prezentace.
var imageStream = File.OpenRead("eagle.jpeg");
var audioImage = presentation.Images.AddImage(imageStream);
imageStream.Dispose();
// Nastaví obrázek pro audio rám.
audioFrame.PictureFormat.Picture.Image = audioImage; // <-----
//Uloží upravenou prezentaci na disk
presentation.Save("example_out.pptx", SaveFormat.Pptx);
}
Změna možností přehrávání audia
Aspose.Slides pro .NET vám umožňuje měnit možnosti, které řídí přehrávání nebo vlastnosti audia. Například můžete upravit hlasitost audia, nastavit přehrávání v smyčce nebo dokonce skrýt ikonu audia.
The Audio Options pane in Microsoft PowerPoint:

PowerPoint Audio Options that correspond to Aspose.Slides AudioFrame properties:
- Start rozbalovací nabídka odpovídá vlastnosti AudioFrame.PlayMode.
- Volume odpovídá vlastnosti AudioFrame.Volume.
- Play Across Slides odpovídá vlastnosti AudioFrame.PlayAcrossSlides.
- Loop until Stopped odpovídá vlastnosti AudioFrame.PlayLoopMode.
- Hide During Show odpovídá vlastnosti AudioFrame.HideAtShowing.
- Rewind after Playing odpovídá vlastnosti AudioFrame.RewindAudio.
PowerPoint Editing options that correspond to Aspose.Slides AudioFrame properties:
- Fade In odpovídá vlastnosti AudioFrame.FadeInDuration.
- Fade Out odpovídá vlastnosti AudioFrame.FadeOutDuration.
- Trim Audio Start Time odpovídá vlastnosti AudioFrame.TrimFromStart.
- Trim Audio End Time hodnota se rovná délce audia minus hodnota AudioFrame.TrimFromEnd.
Ovládací prvek Volume v PowerPointu na panelu pro audio odpovídá vlastnosti AudioFrame.VolumeValue. Umožňuje změnit hlasitost audia v procentech.
Takto měníte možnosti přehrávání audia:
- Vytvořte nebo získejte Audio Frame.
- Nastavte nové hodnoty vlastností Audio Frame, které chcete upravit.
- Uložte upravený soubor PowerPoint.
Tento C# kód demonstruje operaci, při níž jsou upraveny možnosti audia:
using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx"))
{
// Získá tvar AudioFrame
AudioFrame audioFrame = (AudioFrame)pres.Slides[0].Shapes[0];
// Nastaví režim přehrávání na přehrání po kliknutí
audioFrame.PlayMode = AudioPlayModePreset.OnClick;
// Nastaví hlasitost na Nízkou
audioFrame.Volume = AudioVolumeMode.Low;
// Nastaví audio tak, aby se přehrávalo napříč snímky
audioFrame.PlayAcrossSlides = true;
// Zakáže smyčku pro audio
audioFrame.PlayLoopMode = false;
// Skryje AudioFrame během prezentace
audioFrame.HideAtShowing = true;
// Přetočí audio zpět na start po přehrání
audioFrame.RewindAudio = true;
// Uloží soubor PowerPoint na disk
pres.Save("AudioFrameEmbed_changed.pptx", SaveFormat.Pptx);
}
Tento C# příklad ukazuje, jak přidat nový audio rám s vloženým audiem, oříznout jej a nastavit doby setrvačnosti:
using (Presentation pres = new Presentation())
{
ISlide slide = pres.Slides[0];
byte[] audioData = File.ReadAllBytes("sampleaudio.mp3");
IAudio audio = pres.Audios.AddAudio(audioData);
IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(50, 50, 100, 100, audio);
// Nastaví počáteční offset ořezu na 1,5 sekundy
audioFrame.TrimFromStart = 1500f;
// Nastaví koncový offset ořezu na 2 sekundy
audioFrame.TrimFromEnd = 2000f;
// Nastaví dobu fade-in na 200 ms
audioFrame.FadeInDuration = 200f;
// Nastaví dobu fade-out na 500 ms
audioFrame.FadeOutDuration = 500f;
pres.Save("AudioFrameTrimFade_out.pptx", SaveFormat.Pptx);
}
Následující ukázka kódu ukazuje, jak získat audio rám s vloženým audiem a nastavit jeho hlasitost na 85 %:
using (Presentation pres = new Presentation("AudioFrameEmbed_out.pptx"))
{
// Získá tvar audio rámu
IAudioFrame audioFrame = (IAudioFrame)pres.Slides[0].Shapes[0];
// Nastaví hlasitost audia na 85%
audioFrame.VolumeValue = 85f;
pres.Save("AudioFrameValue_out.pptx", SaveFormat.Pptx);
}
Správa titulků audia
Aspose.Slides vám umožňuje přidávat uzavřené titulky k audio rámu pomocí vlastnosti CaptionTracks. Tato vlastnost vrací ICaptionsCollection, která vám umožňuje přidávat WebVTT stopy titulků, procházet existující stopy a odstraňovat je podle potřeby.
Přidání titulků audia
Použijte vlastnost CaptionTracks k připojení jedné nebo více stop titulků k audio rámu. V následujícím příkladu je audio soubor přidán do snímku a poté je nová stopa titulků načtena ze souboru .vtt.
using (Presentation presentation = new Presentation())
{
byte[] audioData = File.ReadAllBytes("audio.mp3");
IAudio audio = presentation.Audios.AddAudio(audioData);
ISlide slide = presentation.Slides[0];
IAudioFrame audioFrame = slide.Shapes.AddAudioFrameEmbedded(10, 10, 50, 50, audio);
// Přidá novou stopu titulků z WebVTT souboru.
audioFrame.CaptionTracks.Add("New track", "track.vtt");
presentation.Save("audio_with_captions.pptx", SaveFormat.Pptx);
}
Extrahování titulků audia
Můžete procházet stopy titulků spojené s audio rámem a uložit je jako soubory .vtt. Každá stopa titulků poskytuje svá binární data a jedinečný identifikátor, který lze použít při exportu titulků.
using (Presentation presentation = new Presentation("audio_with_captions.pptx"))
{
ISlide slide = presentation.Slides[0];
foreach (IShape shape in slide.Shapes)
{
if (shape is IAudioFrame audioFrame)
{
foreach (ICaptions captionTrack in audioFrame.CaptionTracks)
{
// Uloží stopu titulků jako .vtt soubor.
File.WriteAllBytes($"{captionTrack.CaptionId}.vtt", captionTrack.BinaryData);
}
}
}
}
Odstranění titulků audia
Chcete-li odstranit titulky z audio rámu, použijte metody poskytované rozhraním ICaptionsCollection, jako jsou Clear, Remove, nebo RemoveAt. Následující příklad odstraňuje všechny stopy titulků z audio rámu.
using (Presentation presentation = new Presentation("audio_with_captions.pptx"))
{
ISlide slide = presentation.Slides[0];
IAudioFrame audioFrame = slide.Shapes[0] as IAudioFrame;
// Odstraní všechny stopy titulků z audio rámu.
audioFrame.CaptionTracks.Clear();
presentation.Save("audio_without_captions.pptx", SaveFormat.Pptx);
}
Extrahování audia
Aspose.Slides pro .NET vám umožňuje extrahovat zvuk použitý v přechodech prezentace. Například můžete extrahovat zvuk použitý v konkrétním snímku.
- Vytvořte instanci třídy Presentation a načtěte prezentaci obsahující audio.
- Získejte odkaz na příslušný snímek pomocí jeho indexu.
- Přistupte k přechodům prezentace pro daný snímek.
- Extrahujte zvuk jako bajtová data.
Tento C# kód vám ukazuje, jak extrahovat audio použité v snímku:
string presName = "AudioSlide.pptx";
// Vytvoří instanci třídy Presentation, která představuje soubor prezentace
Presentation pres = new Presentation(presName);
// Získá snímek
ISlide slide = pres.Slides[0];
// Získá přechodové efekty prezentace pro snímek
ISlideShowTransition transition = slide.SlideShowTransition;
//Extrahuje zvuk do pole bajtů
byte[] audio = transition.Sound.BinaryData;
System.Console.WriteLine("Length: " + audio.Length);
Často kladené otázky
Mohu opakovaně použít stejný audio soubor na více snímcích, aniž by se zvětšila velikost souboru?
Ano. Přidejte audio jednou do sdílené audio collection prezentace a vytvořte další audio rámy, které odkazují na tento existující soubor. Tím se zabrání duplikaci mediálních dat a velikost prezentace zůstane pod kontrolou.
Mohu nahradit zvuk v existujícím audio rámu, aniž bych znovu vytvářel tvar?
Ano. Pro propojený zvuk aktualizujte link path tak, aby ukazoval na nový soubor. Pro vložený zvuk vyměňte objekt embedded audio za jiný z audio collection prezentace. Formátování rámu a většina nastavení přehrávání zůstane beze změny.
Mění ořezávání podkladová audio data uložená v prezentaci?
Ne. Ořezávání upravuje pouze hranice přehrávání. Původní audio bajty zůstávají nedotčeny a jsou přístupné prostřednictvím vloženého audia nebo audio kolekce prezentace.