pub struct VideoEntry {
pub partname: PartName,
pub blob: Vec<u8>,
pub rid: String,
}Expand description
视频媒体条目:保存到 /ppt/media/mediaN.mp4 的视频 part 元数据(TODO-033)。
对应 python-pptx 中 SlideShapes.add_movie(...) / add_video(...) 隐式管理的 media part。
在 to_opc_package 阶段,每个 VideoEntry 会:
- 写出独立的
/ppt/media/mediaN.mp4part(内容为原始视频二进制 blob); - 在
slideN.xml.rels中添加<Relationship Type=".../video" Target="../media/mediaN.mp4"/>; - 把
rid同步回Picture.pic.media(MediaKind::Video { rid }),供<a:videoFile r:link="..."/>引用。
§与 MediaEntry 的差异
- MediaEntry 持有海报帧图片二进制,关系类型为
.../image,用r:embed引用; - VideoEntry 持有视频文件二进制,关系类型为
.../video,用r:link引用; - 两者 partname 都在
/ppt/media/下,但文件名命名空间区分(imageN.pngvsmediaN.mp4)。
§与 OleEntry 的差异
- OleEntry 的 partname 在
/ppt/embeddings/下,关系类型为.../oleObject; - VideoEntry 的 partname 在
/ppt/media/下,关系类型为.../video; - OleEntry 通过
<p:oleObj r:id="..."/>引用(r:id),VideoEntry 通过<a:videoFile r:link="..."/>引用(r:link)。
Fields§
§partname: PartName视频 part 路径,例如 /ppt/media/media1.mp4。
blob: Vec<u8>原始视频二进制数据(如 MP4 字节流)。
rid: String在 slide xml 中引用的关系 id(形如 rIdVideo1)。
该 rid 会写入 slideN.xml.rels 的 <Relationship Id="rIdVideoN" Type=".../video"/>,
同时同步到 Picture.pic.media(MediaKind::Video { rid }),
供 <a:videoFile r:link="rIdVideoN"/> 引用。
Trait Implementations§
Source§impl Clone for VideoEntry
impl Clone for VideoEntry
Source§fn clone(&self) -> VideoEntry
fn clone(&self) -> VideoEntry
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VideoEntry
impl RefUnwindSafe for VideoEntry
impl Send for VideoEntry
impl Sync for VideoEntry
impl Unpin for VideoEntry
impl UnsafeUnpin for VideoEntry
impl UnwindSafe for VideoEntry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more