• 6128阅读
  • 9回复

BUG还是源码问题 [复制链接]

上一主题 下一主题
离线dcyln
 

只看楼主 倒序阅读 使用道具 楼主  发表于: 2014-09-14
易语言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
GetDuration 不会崩溃的,是不是有些视频获取时长可能为0(比如直播,或者某些视频刚开始建立索引时),导致除零错出现的崩溃。
离线dcyln

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

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

只看该作者 地板  发表于: 2014-09-15
我的意思是,请您检查 GetDuration 的返回值, 可能崩溃的原因是: 返回了 0 值,然后您外面的代码引发了除 0 错误导致崩溃。
离线dcyln

只看该作者 4楼 发表于: 2014-09-15
回 aplayer 的帖子
aplayer:我的意思是,请您检查 GetDuration 的返回值, 可能崩溃的原因是: 返回了 0 值,然后您外面的代码引发了除 0 错误导致崩溃。 (2014-09-15 15:46) 

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

只看该作者 5楼 发表于: 2014-09-15
那可能是接口问题了,注意 GetDuration 接口的原形:
[id(8), helpstring("方法GetDuration")] HRESULT GetDuration([out,retval] LONG* pnDuration);
是有一个参数的,不知道你那边调用时候是否有一个参数,如果是易语言的原形应该是:
离线dcyln

只看该作者 6楼 发表于: 2014-09-15
回 aplayer 的帖子
aplayer:那可能是接口问题了,注意 GetDuration 接口的原形:
HRESULT GetDuration([out,retval] LONG* pnDuration);
是有一个参数的,不知道你那边调用时候是否有一个参数,如果是易语言的原形应该是:
[图片] (2014-09-15 20:25) 

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

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

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

决解了,谢谢
离线精诚电器

只看该作者 9楼 发表于: 2014-10-27
哎!新手感觉有点卡像看天书的感觉
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个