我正在尝试转换C代码: http://wiki.videolan.org/Stream_to_memory_(smem)_tutorial 到C#开源项目(ispy)。
目前我的主要问题是转换方法签名:
void handleStream(void* p_audio_data, uint8_t* p_pcm_buffer, unsigned int channels, unsigned int rate, unsigned int nb_samples, unsigned int bits_per_sample, unsigned int size, int64_t pts )
成为C#等价物。有什么想法吗?
答案 0 :(得分:0)
如果这是一个回调,我会把它变为C#delegate:
public delegate void handleStream (byte[] p_audio_data, uint[] p_pcm_buffer,
uint channels, uint rate, uint nb_samples,
uint bits_per_sample, uint size, ulong pts);
答案 1 :(得分:0)
在http://sourceforge.net/projects/libvlcnet/有一个libvlc的.NET包装器,你应该使用它并让它处理P / Invoke的细节。
答案 2 :(得分:0)
该项目有Vlc.DotNet.Core.Interops库,为所有版本的VLC提供VLC interops> = 1.1