O Microsoft PowerPoint oferece a capacidade de adicionar quadros de vídeo às suas apresentações do PowerPoint. Os vídeos podem ser usados para melhorar a qualidade das apresentações e ajudar a comunicar melhor a mensagem ao público. Pode haver situações em que você deseja adicionar vídeos a apresentações do PowerPoint programaticamente. Para isso, este artigo ensinará como incorporar vídeo em apresentações do PowerPoint usando C++.
- API C++ para incorporar vídeo em apresentações do PowerPoint
- Incorporar vídeo em apresentações do PowerPoint usando C++
- Incorporando vídeo de uma fonte da Web em apresentações do PowerPoint
- Extrair vídeo de apresentações do PowerPoint usando C++
API C++ para incorporar vídeo em apresentações do PowerPoint
Usaremos a API Aspose.Slides for C++ para incorporar vídeos em apresentações do PowerPoint. É uma API poderosa e rica em recursos que suporta a criação, leitura e modificação de arquivos do PowerPoint sem a necessidade da instalação do Mircosoft PowerPoint. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.Slides.Cpp
Incorporar vídeo em apresentações do PowerPoint usando C++
A seguir estão as etapas para incorporar um vídeo em uma apresentação do PowerPoint.
- Primeiramente, crie uma instância da classe Apresentação para representar um novo arquivo PowerPoint.
- Recupere o slide onde você deseja incorporar o vídeo.
- Adicione o vídeo à apresentação usando Presentation->getVideos()->AddVideo (System::SharedPtrSystem::IO::Stream fluxo).
- Adicione o quadro de vídeo usando o método ISlide->getShapes()->AddVideoFrame(float x, float y, float largura, float height, System::SharedPtr< IVideo > video).
- Incorpore o vídeo dentro do quadro de vídeo usando o IVideoFrame->setEmbeddedVideo(System::SharedPtr valor) método.
- Defina o modo de reprodução e o volume do vídeo.
- Por último, salve a apresentação usando o método Presentation->Save(System::String fname, Export::SaveFormat format).
O código de exemplo a seguir mostra como incorporar um vídeo em uma apresentação do PowerPoint usando C++.
// Caminhos de arquivo
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
// Criar uma instância da classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Acesse o primeiro slide
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Carregue o arquivo de vídeo para transmitir
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Adicionar o vídeo à apresentação
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);
// Adicionar quadro de vídeo
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);
// Incorporar vídeo dentro do quadro de vídeo
videoFrame->set_EmbeddedVideo(vid);
// Defina o modo de reprodução e o volume do vídeo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);
// Salve a apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Incorporando vídeo de uma fonte da Web em apresentações do PowerPoint
A seguir estão as etapas para incorporar um vídeo de uma fonte da Web em uma apresentação do PowerPoint.
- Primeiramente, crie uma instância da classe Apresentação para representar um novo arquivo PowerPoint.
- Recupere o slide onde você deseja incorporar o vídeo.
- Adicione um quadro de vídeo usando o método ISlide->getShapes()->AddVideoFrame(float x, float y, float largura, float height, System::String fname).
- Defina o modo de reprodução do vídeo.
- Finalmente, salve a apresentação usando o método Presentation->Save(System::String fname, Export::SaveFormat format).
O código de exemplo a seguir mostra como incorporar um vídeo de uma fonte da Web em uma apresentação do PowerPoint usando C++.
// Caminho de arquivo
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";
// Criar uma instância da classe Presentation
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Acesse o primeiro slide
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Adicione o quadro de vídeo da fonte da web
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");
// Defina o modo de reprodução e o volume do vídeo
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
// Salve a apresentação
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Extrair vídeo de apresentações do PowerPoint usando C++
A seguir estão as etapas para extrair um vídeo de uma apresentação do PowerPoint usando C++.
- Primeiramente, carregue o arquivo PowerPoint usando a classe Apresentação.
- Percorra os slides da apresentação.
- Percorra as formas em cada slide.
- Para cada forma, verifique se a forma é um VideoFrame. Caso seja um quadro de vídeo, extraia o vídeo incorporado e salve-o.
O código de exemplo a seguir mostra como extrair um vídeo de uma apresentação do PowerPoint usando C++.
// Caminhos de arquivo
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";
// Carregar o arquivo de apresentação
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
// Percorra os slides
auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
decltype(slide_enumerator->get_Current()) slide;
while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
{
// Percorra as formas
auto shape_enumerator = (presentation->get_Slides()->idx_get(0)->get_Shapes())->GetEnumerator();
decltype(shape_enumerator->get_Current()) shape;
while (shape_enumerator->MoveNext() && (shape = shape_enumerator->get_Current(), true))
{
// Verifique se a forma é um quadro de vídeo
if (System::ObjectExt::Is<VideoFrame>(shape))
{
// Extraia o arquivo de vídeo
System::SharedPtr<VideoFrame> vf = System::DynamicCast_noexcept<Aspose::Slides::VideoFrame>(shape);
System::String type = vf->get_EmbeddedVideo()->get_ContentType();
int32_t ss = type.LastIndexOf(L'/');
type = type.Remove(0, type.LastIndexOf(L'/') + 1);
System::ArrayPtr<uint8_t> buffer = vf->get_EmbeddedVideo()->get_BinaryData();
{
System::SharedPtr<System::IO::FileStream> stream = System::MakeObject<System::IO::FileStream>(outputFilePath + type, System::IO::FileMode::Create, System::IO::FileAccess::Write, System::IO::FileShare::Read);
// Limpando recursos sob a instrução 'usando'
//System::Details::DisposeGuard __dispose_guard_0{ fluxo, ASPOSE_CURRENT_FUNCTION };
// ------------------------------------------
stream->Write(buffer, 0, buffer->get_Length());
}
}
}
}
}
Obtenha uma licença gratuita
Para experimentar a API sem limitações de avaliação, você pode solicitar uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como incorporar vídeos em apresentações do PowerPoint usando C++. Além disso, você viu como extrair vídeos incorporados de apresentações do PowerPoint usando o Aspose.Slides for C++ API. É uma API robusta que fornece muitos recursos adicionais para trabalhar com arquivos do PowerPoint. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.
Veja também
- Adicionar transições de slides em apresentações do PowerPoint usando C++
- Definir o plano de fundo do slide em apresentações do PowerPoint usando C++
Dica: Você pode conferir o conversor Aspose FREE PowerPoint to Video porque permite transformar suas apresentações em vídeos impressionantes com efeitos de transição.