查看完整版本: [-- BUG还是源码问题 --]

APlayer 开发者论坛 -> APlayer 讨论区 -> BUG还是源码问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

dcyln 2014-09-14 14:35

BUG还是源码问题

易语言OCX调用,有些视频在获取文件时长(GetDuration)时就会出现停止工作




问题事件名称:    BEX
  应用程序名:    EDVC210.tmp
  应用程序版本:    0.0.0.0
  应用程序时间戳:    059bffa3
  故障模块名称:    StackHash_1283
  故障模块版本:    0.0.0.0
  故障模块时间戳:    00000000
  异常偏移:    025129f0
  异常代码:    c0000005
  异常数据:    00000008
  OS 版本:    6.1.7601.2.1.0.256.1
  区域设置 ID:    2052
  其他信息 1:    1283
  其他信息 2:    12837d5444093a3847115f107cc75955
  其他信息 3:    294f
  其他信息 4:    294f4cafda35f04aea1a87841afa26eb


去掉GetDuration 正常播放,有些视频就没这个问题

aplayer 2014-09-14 18:28
GetDuration 不会崩溃的,是不是有些视频获取时长可能为0(比如直播,或者某些视频刚开始建立索引时),导致除零错出现的崩溃。

dcyln 2014-09-14 19:54
aplayer:GetDuration 不会崩溃的,是不是有些视频获取时长可能为0(比如直播,或者某些视频刚开始建立索引时),导致除零错出现的崩溃。 (2014-09-14 18:28) 

都是本地的视频,有的不崩溃有的崩溃,不用GetDuration就没事,是在事件OnOpenSucceeded后调用的

aplayer 2014-09-15 15:46
我的意思是,请您检查 GetDuration 的返回值, 可能崩溃的原因是: 返回了 0 值,然后您外面的代码引发了除 0 错误导致崩溃。

dcyln 2014-09-15 18:22
aplayer:我的意思是,请您检查 GetDuration 的返回值, 可能崩溃的原因是: 返回了 0 值,然后您外面的代码引发了除 0 错误导致崩溃。 (2014-09-15 15:46) 

我把后面的代码都去除了,只获取 GetDuration 的返回值也停止运行

aplayer 2014-09-15 20:25
那可能是接口问题了,注意 GetDuration 接口的原形:
[id(8), helpstring("方法GetDuration")] HRESULT GetDuration([out,retval] LONG* pnDuration);
是有一个参数的,不知道你那边调用时候是否有一个参数,如果是易语言的原形应该是:
[attachment=271]

dcyln 2014-09-15 22:27
aplayer:那可能是接口问题了,注意 GetDuration 接口的原形:
HRESULT GetDuration([out,retval] LONG* pnDuration);
是有一个参数的,不知道你那边调用时候是否有一个参数,如果是易语言的原形应该是:
[图片] (2014-09-15 20:25) 

直接是OCX安装成支持库调用的,有的不停止运行有的停止运行,郁闷死了

aplayer 2014-09-17 17:17
崩溃也有可能是其他问题,因为 易语言和coreavc 解码器冲突,请看以下帖子:
http://aplayer.open.xunlei.com/bbs/read.php?tid=20112&fpage=2

dcyln 2014-09-17 20:18
aplayer:崩溃也有可能是其他问题,因为 易语言和coreavc 解码器冲突,请看以下帖子:
http://aplayer.open.xunlei.com/bbs/read.php?tid=20112&fpage=2 (2014-09-17 17:17) 

决解了,谢谢

精诚电器 2014-10-27 22:18
哎!新手感觉有点卡像看天书的感觉


查看完整版本: [-- BUG还是源码问题 --] [-- top --]


Powered by phpwind v8.7 Code ©2003-2011 phpwind
Time 0.011282 second(s),query:0 Gzip enabled