Media Foundation 播放列表仅播放播放列表中的第一个文件
Posted
技术标签:
【中文标题】Media Foundation 播放列表仅播放播放列表中的第一个文件【英文标题】:Media Foundation playlist plays only the first file from the playlist 【发布时间】:2013-07-03 23:14:20 【问题描述】:我正在使用IMFSequencerSource
创建媒体文件的剪切列表。我还在处理MENewPresentation
用于排队下一个文件。所有返回值都是S_OK
。但是,当第一个文件结束时,屏幕上没有输出。我可以看到 HDD 仍然处于活动状态并且读取仍在进行中,但屏幕上没有一帧。
以下是来自 Invoke()
方法的一些事件:
MEEndOfPresentationSegment
MF_TOPOSTATUS_ENDED
MESessionNotifyPresentationTime
MF_TOPOSTATUS_SINK_SWITCHED
MF_TOPOSTATUS_READY
MF_TOPOSTATUS_STARTED_SOURCE
所以,好像sink切换了,新的source开始了,但是为什么屏幕上没有框架呢?
【问题讨论】:
【参考方案1】:仅当我将两个具有相同格式的文件背靠背放置时才会出现此问题。所以,我猜这是MS超超新技术的一个bug。
【讨论】:
以上是关于Media Foundation 播放列表仅播放播放列表中的第一个文件的主要内容,如果未能解决你的问题,请参考以下文章
使用 Media Foundation 将音频从文件播放到扬声器
如何使用 Media Foundation 从 IMFSourceReader 播放音频缓冲区
如何检查 Media Foundation 是不是可以实际播放文件而不仅仅是加载它
如何保护通过 Media Source Extension API 播放的视频文件?