求助:MP4Splitter.dll的问题!

zhoufs 2017-10-16 08:33:32
写了一个用于播放视频的小程序,使用MP4Splitter.dll 为分离器,在大多数电脑上,才能正常播放,但在个别电脑上,却无法播放,不知是什么原因?
Win7、Win8、Win10系统的电脑,都碰到几台,播放不了。
...全文
1133 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoufs 2017-11-27
  • 打赏
  • 举报
回复
引用 5 楼 rightorwrong 的回复:
这一块好久没做了,通过filter的id调用。graphedit打开可以看到id
谢谢,问题已经解决了! 直接在代码中指定使用MP4Splitter.dll ,而不是让它自动搜索。 而且MP4Splitter.dll 可以不必用Regsvr32 注册 。
rightorwrong 2017-10-25
  • 打赏
  • 举报
回复
这一块好久没做了,通过filter的id调用。graphedit打开可以看到id
zhoufs 2017-10-24
  • 打赏
  • 举报
回复
引用 3 楼 rightorwrong 的回复:
会,那就直接在代码里写好调用的dll
继续向高手请教: 下面这段基于DSPack的代码是网上找到的,可用,但不知如何在这段代码中调用指定的Mp4splitter.dll ? procedure TfrmVideo.AA(AResName: string); var rs: TResourceStream; Mem:PByte; iSize:Cardinal; mt: TAMMediaType; pmt: PAMMediaType; Stream: TBCMemFileStream; Reader: TBCMemFileReader; hr: HResult; iFG:IGraphBuilder; pVidWin:IPin; begin rs:=TResourceStream.Create(hInstance,AResName,'file') ; try iSize:=rs.Size; GetMem(Mem,iSize); rs.ReadBuffer(Mem^,iSize); finally rs.Free; end; pmt := @mt; TBCMediaType(pmt).InitMediaType; mt.majortype := MEDIATYPE_Stream; mt.subtype := MEDIASUBTYPE_Avi;//这里以avi文件为例 //mt.subtype :=MEDIASUBTYPE_MP4; Stream := TBCMemFileStream.Create(Mem, iSize); Reader := TBCMemFileReader.Create(Stream, @mt, hr); Reader._AddRef; iFG:=(FilterGraph1 as IGraphBuilder); iFG.AddFilter(Reader,nil); iFG.Render(Reader.GetPin(0)); //----------------让视频在Panel2中播放(否则,在Win10中,会在跳出的Active Movie窗口中播放), //并出现:“由于没有连接插针而导致此项操作无法执行”的错误 iFG.QueryInterface(IVideoWindow,pVidWin); (pVidWin as IVideoWindow).put_Owner(Handle); (pVidWin as IVideoWindow).put_WindowStyle(WS_CHILD + WS_CLIPSIBLINGS + WS_CLIPCHILDREN); (pVidWin as IVideoWindow).SetWindowPosition(0,0,Panel2.Width,Panel2.Height); //-------------------------------------------------------------------------------- Reader._Release; end;
rightorwrong 2017-10-23
  • 打赏
  • 举报
回复
会,那就直接在代码里写好调用的dll
zhoufs 2017-10-20
  • 打赏
  • 举报
回复
引用 1 楼 rightorwrong 的回复:
其它电脑是不是调用MP4Splitter.dll不成功,看下在不成功的电脑上,用depends看下MP4Splitter.dll依赖库都有吗
不管是否是缺少依赖库,先说谢谢! 我先用depends查一下。 我怀疑,会不会有另一种可能: 就是“视频、音频分离器”会不会有优先级? 虽然MP4Splitter.dll 注册成功,但实际播放视频时,并没有被真正调用? 另外,还有一个问题想请教: 使用MP4Splitter.dll解码、播放视频时,有时出现声音播放太快,快得根本听不清! 需要关闭再打开才能正常。 不知是什么原因所致?
rightorwrong 2017-10-19
  • 打赏
  • 举报
回复
其它电脑是不是调用MP4Splitter.dll不成功,看下在不成功的电脑上,用depends看下MP4Splitter.dll依赖库都有吗

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧