MF(二) Media Session



        Media Session 是一个管理管道中数据流的对象。他是整个程序模型中的枢纽,Media Session 导出 IMFMediaSession 接口,所有播放中的控制,例如暂停、播放、停止等都是通过 Media Session 来完成的。
       Media Session 有两种创建方式:
       1. 如果播放的媒体内容不是受保护的,那么可以直接调用 MFCreateMediaSession, 这个函数会在应用程序进程内创建Media Session。
       2. 如果播放的媒体内容是受保护的,那么可以调用  MFCreatePMPMediaSession 函数,这个函数会在 PMP (protected media path) 进程中创建 Media Session 对象实例,应用程序在使用Media Session的时候,根本不知道 Media Session 在哪里。 函数返回 Media Session 代理对象的指针,应用程序可以通过这个指针来操作Media Session。 这种情况也可以支持不含有包含的媒体播放。
       通过Media Session 来控制媒体播放(数据流)需要下面几步:
        1. 创建拓扑。 拓扑是数据流在管道流动图。
        2. 调用 IMFMediaSession::SetTopology 把拓扑放到Media Session 队列中。
        3. 控制数据流,是通过函数 IMFMediaSession::Start, IMFMediaSession::Pause, or IMFMediaSession::Stop. 
        4. 在应用程序退出前,调用 IMFMediaSession::Close 来关闭 Medi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值