如何转换pymedia.audio。acodec ACString到ctypes.c_char_p
各位专家,大家好,
我对Cypes还是个新手。我使用的是一个c库,编写的是python。
它的绑定。
我需要将一个字符指针传递给一个函数。
我正在阅读一个mp3文件,并使用pymedia将其解码为原始pcm。
现在我需要将这个原始数据传递给
C函数。这是我的代码。
选择 | 换行 | 行号
- # /*********
- from ctypes import *
- import pymedia.audio.acodec as codec
- dec = None
- dm = muxer.Demuxer('mp3')
- fp = open('test.mp3', 'rb')
- fingerprinting_done = False
- while not fingerprinting_done:
- s = fp.read(20000)
- frames = dm.parse(s)
- for fr in frames:
- if dec == None:
- dec = codec.Decoder(dm.streams[0])
- r = dec.Decode(fr[1])
- if r and r.data:
- # pass this r.data to the C function.
- # r.data is ACString object
- # I cannot do pcm_audio = c_char_p(r.data) . gives me following error
- # TypeError: string or integer address expected instead of ACString
- # instance
- # *************/
我在转换r.data(它是ACstring对象)时出错
在ctyes.c_char_p中。
你能帮我解决这个问题吗?
任何帮助都会被认可,
谢谢,
桑吉特