Microsoft PowerPoint cung cấp cho bạn khả năng thêm khung video vào bản trình bày PowerPoint của bạn. Video có thể được sử dụng để nâng cao chất lượng của các bài thuyết trình và giúp truyền tải thông điệp đến khán giả tốt hơn. Có thể có những trường hợp bạn muốn thêm video vào bản trình bày PowerPoint theo chương trình. Để đạt được điều đó, bài viết này sẽ hướng dẫn bạn cách nhúng video vào bản trình bày PowerPoint bằng C ++.
- API C ++ để nhúng video vào bản trình bày PowerPoint
- Nhúng Video vào Bản trình bày PowerPoint bằng C ++
- Nhúng Video từ Nguồn Web vào Bản trình bày PowerPoint
- Trích xuất Video từ Bản trình bày PowerPoint bằng C ++
API C ++ để nhúng video vào bản trình bày PowerPoint
Chúng tôi sẽ sử dụng API Aspose.Slides for C ++ để nhúng video vào bản trình bày PowerPoint. Đây là một API mạnh mẽ và giàu tính năng hỗ trợ tạo, đọc và sửa đổi các tệp PowerPoint mà không cần cài đặt Mircosoft PowerPoint. Bạn có thể cài đặt API thông qua NuGet hoặc tải xuống trực tiếp từ phần Tải xuống.
PM> Install-Package Aspose.Slides.Cpp
Nhúng Video vào Bản trình bày PowerPoint bằng C ++
Sau đây là các bước để nhúng video vào bản trình bày PowerPoint.
- Đầu tiên, tạo một thể hiện của lớp Presentation để đại diện cho một tệp PowerPoint mới.
- Truy xuất trang chiếu mà bạn muốn nhúng video.
- Thêm video vào bản trình bày bằng cách sử dụng Presentation-> getVideos() -> AddVideo (System :: SharedPtrSystem::IO::Stream stream) phương pháp.
- Thêm khung video bằng phương thức ISlide-> getShapes() -> AddVideoFrame (float x, float y, float width, float height, System :: SharedPtr video).
- Nhúng video vào khung video bằng IVideoFrame-> setEmbeddedVideo (System :: SharedPtr giá trị) phương pháp.
- Đặt chế độ phát và âm lượng của video.
- Cuối cùng, lưu bản trình bày bằng phương pháp Presentation-> Save (System :: String fname, Export :: SaveFormat format).
Mã mẫu sau đây cho biết cách nhúng video vào bản trình bày PowerPoint bằng C ++.
// Đường dẫn tệp
const String videoFilePath = u"SourceDirectory\\Video\\Wildlife.mp4";
const String outputFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
// Tạo một phiên bản của lớp Trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Truy cập trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Tải tệp video để phát trực tiếp
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(videoFilePath, System::IO::FileMode::Open, System::IO::FileAccess::Read);
// Thêm video vào bản trình bày
System::SharedPtr<IVideo> vid = presentation->get_Videos()->AddVideo(stream);
// Thêm khung video
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(50, 150, 300, 150, vid);
// Nhúng video vào trong khung video
videoFrame->set_EmbeddedVideo(vid);
// Đặt chế độ phát và âm lượng của video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
videoFrame->set_Volume(AudioVolumeMode::Loud);
// Lưu bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Nhúng Video từ Nguồn Web vào Bản trình bày PowerPoint
Sau đây là các bước để nhúng video từ nguồn web vào bản trình bày PowerPoint.
- Đầu tiên, tạo một phiên bản của lớp Presentation để đại diện cho một tệp PowerPoint mới.
- Truy xuất trang chiếu mà bạn muốn nhúng video.
- Thêm khung video bằng phương thức ISlide-> getShapes() -> AddVideoFrame (float x, float y, float width, float height, System :: String fname).
- Đặt chế độ phát của video.
- Cuối cùng, lưu bản trình bày bằng phương thức Presentation-> Save (System :: String fname, Export :: SaveFormat format).
Mã mẫu sau đây cho biết cách nhúng video từ nguồn web vào bản trình bày PowerPoint bằng C ++.
// Đường dẫn tập tin
const String outputFilePath = u"OutputDirectory\\EmbedVideoFromWeb_out.pptx";
// Tạo một phiên bản của lớp Trình bày
SharedPtr<Presentation> presentation = MakeObject<Presentation>();
// Truy cập trang trình bày đầu tiên
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);
// Thêm khung video từ nguồn web
System::SharedPtr<IVideoFrame> videoFrame = slide->get_Shapes()->AddVideoFrame(10, 10, 427, 240, u"https://www.youtube.com/embed/sZJorZmHiIk");
// Đặt chế độ phát và âm lượng của video
videoFrame->set_PlayMode(VideoPlayModePreset::Auto);
// Lưu bản trình bày
presentation->Save(outputFilePath, Aspose::Slides::Export::SaveFormat::Pptx);
Trích xuất Video từ Bản trình bày PowerPoint bằng C ++
Sau đây là các bước để trích xuất video từ bản trình bày PowerPoint bằng C ++.
- Trước hết, tải tệp PowerPoint bằng lớp Trình bày.
- Lặp qua các trang trình bày.
- Lặp qua các hình dạng trong mỗi trang chiếu.
- Đối với mỗi hình dạng, hãy kiểm tra xem hình dạng đó có phải là VideoFrame hay không. Trong trường hợp đó là một khung video, hãy trích xuất video nhúng và lưu nó.
Đoạn mã mẫu sau đây cho biết cách trích xuất video từ bản trình bày PowerPoint bằng C ++.
// Đường dẫn tệp
const String sourceFilePath = u"OutputDirectory\\EmbedVideo_out.pptx";
const String outputFilePath = u"OutputDirectory\\ExtractVideoFromSlide_out.";
// Tải tệp bản trình bày
System::SharedPtr<Presentation> presentation = System::MakeObject<Presentation>(sourceFilePath);
{
// Lặp qua các trang trình bày
auto slide_enumerator = (presentation->get_Slides())->GetEnumerator();
decltype(slide_enumerator->get_Current()) slide;
while (slide_enumerator->MoveNext() && (slide = slide_enumerator->get_Current(), true))
{
// Lặp qua các hình dạng
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))
{
// Kiểm tra xem hình dạng có phải là khung video không
if (System::ObjectExt::Is<VideoFrame>(shape))
{
// Giải nén tệp video
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);
// Xóa tài nguyên trong câu lệnh 'using'
//Hệ thống :: Chi tiết :: DisposeGuard __dispose_guard_0 {stream, ASPOSE_CURRENT_FUNCTION};
// ------------------------------------------
stream->Write(buffer, 0, buffer->get_Length());
}
}
}
}
}
Nhận giấy phép miễn phí
Để dùng thử API mà không có giới hạn đánh giá, bạn có thể yêu cầu giấy phép tạm thời miễn phí.
Sự kết luận
Trong bài này, bạn đã học cách nhúng video vào bản trình bày PowerPoint bằng C ++. Hơn nữa, bạn đã thấy cách trích xuất video nhúng từ các bản trình bày PowerPoint bằng cách sử dụng API Aspose.Slides cho C ++. Đây là một API mạnh mẽ cung cấp nhiều tính năng bổ sung để làm việc với các tệp PowerPoint. Bạn có thể khám phá API chi tiết bằng cách truy cập tài liệu chính thức. Trong trường hợp có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi tại diễn đàn hỗ trợ miễn phí của chúng tôi.
Xem thêm
- Thêm chuyển đổi trang chiếu trong bản trình bày PowerPoint bằng C ++
- Đặt nền trang trình bày trong bản trình bày PowerPoint bằng C ++
Mẹo: Bạn có thể muốn xem trình chuyển đổi PowerPoint to Video của Aspose MIỄN PHÍ vì nó cho phép bạn chuyển đổi bản trình bày của mình thành video tuyệt đẹp với các hiệu ứng chuyển tiếp.