Ljud

Den här artikeln visar hur man bäddar in ljudramar och styr uppspelning med Aspose.Slides for C++. Följande exempel visar grundläggande ljudoperationer.

Lägg till en ljudram

Infoga en tom ljudram som senare kan innehålla inbäddade ljuddata.

static void AddAudio()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    // Skapa en tom ljudram (ljudet kommer att bäddas in senare).
    auto audioFrame = slide->get_Shapes()->AddAudioFrameEmbedded(50, 50, 100, 100, MakeObject<MemoryStream>());

    presentation->Dispose();
}

Åtkomst till en ljudram

Den här koden hämtar den första ljudramen på en bild.

static void AccessAudio()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    slide->get_Shapes()->AddAudioFrameEmbedded(50, 50, 100, 100, MakeObject<MemoryStream>());

    // Åtkomst till den första ljudramen på bilden.
    auto firstAudio = SharedPtr<IAudioFrame>();
    for (auto&& shape : slide->get_Shapes())
    {
        if (ObjectExt::Is<IAudioFrame>(shape))
        {
            firstAudio = ExplicitCast<IAudioFrame>(shape);
            break;
        }
    }

    presentation->Dispose();
}

Ta bort en ljudram

Ta bort en tidigare tillagd ljudram.

static void RemoveAudio()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto audioFrame = slide->get_Shapes()->AddAudioFrameEmbedded(50, 50, 100, 100, MakeObject<MemoryStream>());

    // Ta bort ljudramen.
    slide->get_Shapes()->Remove(audioFrame);

    presentation->Dispose();
}

Ställ in ljuduppspelning

Konfigurera ljudramen så att den spelas upp automatiskt när bilden visas.

static void SetAudioPlayback()
{
    auto presentation = MakeObject<Presentation>();
    auto slide = presentation->get_Slide(0);

    auto audioFrame = slide->get_Shapes()->AddAudioFrameEmbedded(50, 50, 100, 100, MakeObject<MemoryStream>());

    // Spela upp automatiskt när bilden visas.
    audioFrame->set_PlayMode(AudioPlayModePreset::Auto);

    presentation->Dispose();
}