将c转换为c#(使用smem的libvlc方法)

时间:2011-04-13 04:39:25

标签: c# c vlc libvlc

我正在尝试转换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#等价物。有什么想法吗?

3 个答案:

答案 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

该项目有Vlc.DotNet.Core.Interops库,为所有版本的VLC提供VLC interops> = 1.1