鱼C论坛

 找回密码
 立即注册
查看: 2804|回复: 1

python调用c语言dll,如何实现文件指针类型转换

[复制链接]
发表于 2017-5-4 19:53:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
尝试调用讯飞语音听写模块的dll文件,其中有一段是需要读取音频并且上传
python导入了ctypes模块

dll中有一个函数这样定义:

QISRAudioWrite(sessionID, (const void*)&p_pcm[pcm_count], len, aud_stat, &ep_stat, &rec_stat )

其中sessionID是本次任务的句柄,红色的部分是指向音频文件的指针,len是音频文件的长度,aud_stat是之前定义的常数,后面两个分别是两个int型变量的地址

小白第一次接触调用dll这种东西 于是去找了找大神的代码。

里面对这个函数是这样调用的:

dll = windll.Library('msc.dll')

dll.QISRAudioWrite(sessionID, wavData, len(wavData), aud_stat, byref(spStatus), byref(spStatus))

结果调用出错  错误定位在这一行,显示 OSError: exception: access violation reading 0x00000000034BF250
我觉得应该就是红色的部分出错了,没有转换成相应的c类型

所以这部分应该怎么写呢,求帮助
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-5-4 19:55:09 | 显示全部楼层
顺带一提,大神的代码是python2写的,我用的是python3
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 22:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表