当前位置 主页 > 关于我们 > 站长日志 >

    baudio,C#调用C++代码

    栏目:站长日志 时间:2021-03-27 14:26

    C++代码定义
    typedef struct stPlay
    {
    HWND wndPlay;//播放窗口句柄
    bool bAudio;//是否播放音频,现在只能播放一路音频
    PlayType type;//播放类型
     
    //only for net play.
    TransmissionType eTranType;//数据传输类型,0-UDP,1-TCP
    char url[260];//RTSP URL或本地文件路径
     
    char szUser[64];//用户名
    char szPassward[64];//密码
    char szFileName[512];//for playback and download,下载用全路径比如D:\\picuture.mpg
    }stPlay;
     
         C#代码定义
    public struct stPlay
    {
    public IntPtr wndPlay;//播放窗口句柄
    public bool bAudio;//是否播放音频,现在只能播放一路音频
    public PlayType type;//播放类型
    public TransmissionType eTranType;
     
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
    public string url;      //RTSP URL或本地文件路径      
     
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
    public string szUser;      //用户名
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)]
    public string szPassward;      //密码
     
    [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
    public string FileName;
    }
     
         为了能够指定字符串的长度,必须调用[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)],否则默认情况下,FileName的长度可能只有32个字节,导致传输数据失败.
         原文链接:https://blog.csdn.net/weixin_34273481/article/details/89832906


    下一篇:没有了