C#调用libVLC出错的问题

最初,我参考了
http://www.cnblogs.com/haibindev/archive/2011/12/21/2296173.html
下载源码,并编译,提示出错:堆栈不对齐。
修改了
[DllImport("libvlc", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]之后,再编译,提示
图片说明
调试后发现,在调用vlc _ new 函数之后,并没有成功创建实例,导致报错。
图片说明
但是,我在网上找了很多,竟然发现没有对此问题的回答。
请大神帮忙解答下,如何解决这个问题。
我的编译环境是vs2010 .net4.0
附:

       public static IntPtr libvlc_new(string[] arguments)
        {
            PointerToArrayOfPointerHelper argv = new PointerToArrayOfPointerHelper();
            argv.pointers = new IntPtr[11];

            for (int i = 0; i < arguments.Length; i++)
            {
                argv.pointers[i] = Marshal.StringToHGlobalAnsi(arguments[i]);
            }

            IntPtr argvPtr = IntPtr.Zero;
            try
            {
                int size = Marshal.SizeOf(typeof(PointerToArrayOfPointerHelper));
                argvPtr = Marshal.AllocHGlobal(size);
                Marshal.StructureToPtr(argv, argvPtr, false);

                return libvlc_new(arguments.Length, argvPtr);
            }
            finally
            {
                for (int i = 0; i < arguments.Length + 1; i++)
                {
                    if (argv.pointers[i] != IntPtr.Zero)
                    {
                        Marshal.FreeHGlobal(argv.pointers[i]);
                    }
                }
                if (argvPtr != IntPtr.Zero)
                {
                    Marshal.FreeHGlobal(argvPtr);
                }
            }
        }
2

1个回答

我也是vs2010下。换成debug模式运行就好

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
libvlc Qt专题 05 libvlc 库配置 调用
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
C#调用存储过程出错
CREATE PROC test(@Categories varchar(500),@CategoriesType int,rn@CategoriesLastType int,@CategoriesLastID varchar(50),@CategoriesURL varchar(500),rn@GatherState int,@GatherDate DateTime,@CategoriesID varchar(50),@CategoriesName varchar(50),rn@Type int,@LastType int)rnASrn declare @Count intrn declare @SQL varchar(1000)rn beginrn set @SQL='select ID from AmazonURL where Categories='+@Categories+' and CategoriesType='+@Type+' and CategoriesLastType='+@LastTypern @Count=exec(@SQL)rn if(@Count>0)rn beginrn set @SQL='nsert into AmazonURL(Categories,CategoriesType,CategoriesLastType,CategoriesLastID,CategoriesURL,rn GatherState,GatherDate,CategoriesID,CategoriesName)rn values('+@Categories+','+@CategoriesType+','+@CategoriesLastType+','+@CategoriesLastID+','+@CategoriesURL+',rn '+@GatherState+','+@GatherDate+','+@CategoriesID+','+@CategoriesName+')'rn exec(@SQL)rn endrn endrngornrnrnrnrn在@Count=exec(@SQL)地方出错,我想返回查询后是否有值,如果没有值就是Count<0则添加数据,请大家帮忙
c#调用存储过程出错
param = firstCommand.Parameters.Add("V_HJRQ", OleDbType.Date);rn param.Value = "2002-12-12";rn如果这样写提示错误:rnORA-01841: (全)年度值必须介于 -4713 和 +9999 之间,且不为 0rnORA-06512: 在line 1rnrnrn param.Value = System.DateTime.Today; 用系统时间同样提示这个错误!!
c# 调用回调函数出错
各位大神:rn rn 小弟在用 c# 托管调用 vc++ dll 中的回调函数。执行完回调函数后,程序就报错:rn TestIm.exe 中的 0x00000000 处有未经处理的异常: 0xC0000005: Access violation。rnrn 翻了翻资料,得知这个异常是因为托管代码中某些用于封送的数据对象被CLR的垃圾收集器回收了,这导致了非托管代码在访问这些对象时出现了非法访问,继而CLR封装异常对象并将其抛出。我看到有的朋友在封送C++中char类型数组/指针或结构体指针是遇到了这个异常,而我则是在封送C++函数指针时遇到的,由此看来,导致这个异常的原因都与封送指针有关。rn参考地址:http://blog.csdn.net/xiaxiaonline/article/details/7069546rn rn代码如下,怎么修改为好?rn //回调登录rn public delegate void CallBackLogin(long groupid, int nStatus, long nServerTime, int nResult);rn rn //回调失败原因rn public delegate void CallBackLogOut(ELOGOUTREASON reason);rn rn //回调获取好友rn public delegate void CallBackGetFriends(long groupid, string userinfo);rn rn //回调更新基本信息rn public delegate void CallBackUpdateBaseInfo(long nUserid, string xml);rn rn //回调用户状态更新rn public delegate void CallBackUserStatusUpdate(long nUserid, EUETYPE eUEType, string szStatusDesc);rnrn public CallBackLogin CbLogIn;rn public CallBackLogOut CbLogOut;rn public CallBackGetFriends CbGetFriends;rn public CallBackUserStatusUpdate CbUserStatus;rnrn [DllImport("ImApi.dll")]rn public static extern void Login([MarshalAs(UnmanagedType.LPArray)]char[] name, [MarshalAs(UnmanagedType.LPArray)]char[] password, int status,[MarshalAs(UnmanagedType.U4)]EUETYPE mytype, bool bAnonymous);rn rn private void btnlogin_Click(object sender, EventArgs e)rn rn //rn string path = "";rn path = "d:\\bbb";rn rn string name, pwd;rn name = "kxt";rn pwd = "123456";rnrnrn //注册登录rn CbLogIn = new CallBackLogin(OnLogin);rn RegLoginCallBack(login);rnrn //注册离开rn CbLogOut = new CallBackLogOut(OnLogOut);rn RegLogoutCallBack(CbLogOut);rnrn //获取好友列表rn CbGetFriends = new CallBackGetFriends(OnGetFriends);rn RegGetFriendsCallBack(CbGetFriends);rnrn //更新调用状态rn CbUserStatus = new CallBackUserStatusUpdate(OnUpdateUserStatus);rn RegUserStatusUpdatedCallBack(CbUserStatus);rnrn bool bAnonymous = false;rnrn StringBuilder name1 = new StringBuilder(36);rn name1.Append("kxt");rn StringBuilder pwd1 = new StringBuilder(30);rn pwd1.Append("123456");rnrn Login(name.ToCharArray(),pwd.ToCharArray(), 1, EUETYPE.EUETYPE_PC, bAnonymous);rn rnrn rn public void OnLogin(long userid, int nStatus, long nServerTime, int nResult)rn rn if (nResult == 0)rn MessageBox.Show("userid:" + userid.ToString() + "nstatus:" + nStatus.ToString() + "nServerTime:" + nServerTime.ToString() + "NResult:" + nResult.ToString());rn elsern MessageBox.Show("登录失败!");rn rnrn rn private void OnLogOut(ELOGOUTREASON reason)rn rn //rn MessageBox.Show("OnLogOut");rn //Thread.CurrentThread.Abort();rn rnrn rn private void OnGetFriends(long nUserid, string userxml)rn rn //rn MessageBox.Show("userxml");rn rnrn private void OnUpdateUserStatus(long nUserID, EUETYPE nStatus, string szStatusDesc)rn rn //rn MessageBox.Show("UpdateUserStatus");rn rnrn
c# 调用javascrip """ 出错
<%#"rnrnaspx页面就这三个引号(""") 在vb.net 中可以 但c# 总提示javascript 错误,谁知道正确的写法,谢谢。help me
C#调用sqlite3.dll出错
sqlite3.dll中的声明是[code=C/C++]int sqlite3_open(const char*, sqlite3**);[/code]我在c#中的声明是[code=C#][DllImport("sqlite3.dll", EntryPoint = "sqlite3_open")]rn public static extern int sqlite3_open(string filename, out IntPtr db);[/code]rn出错提示:导致堆栈不对称,PInvoke签名与非托管的目标签名不匹配rn想问一下c#调用sqlite3.dll应该怎么声明。谢谢了
C# 调用webservice 出错
大家好,我今天在用C#调用webservice的时候出现这样一个错误:rnrn[color=#FF0000]找不到 JetSun.ServiceBus:EventBusSvc 的定义。缺少命名空间为 JetSun.ServiceBus 的服务说明。rn参数名: name[/color]rnrn这是我调用某个机构内网服务器上的一个webservice,由于我不能访问内网,只能用他提供的一个编译后的xml文件。rn但是我用同样的程序调用网上公开的webservice时候就完全没有问题,输出的结果也正确。rn大家觉得这是什么原因呢?rn我的调用webservice函数是这样实现的(参考了网上一位朋友的)rnrn[code=csharp] public static object InvokeWebMethod(string _url, string _methodName,rn params object[] _params)rn rn WriteLog("开始执行 动态调用 webservice 函数...........", "");rn WebClient client = new WebClient();rn //String url = "http://localhost:3182/Service1.asmx?WSDL";//这个地址可以写在Config文件里面rn Stream stream = client.OpenRead(_url);rn ServiceDescription description = ServiceDescription.Read(stream);rnrn ServiceDescriptionImporter importer = new ServiceDescriptionImporter();//创建客户端代理代理类。rn importer.ProtocolName = "Soap"; //指定访问协议。rn importer.Style = ServiceDescriptionImportStyle.Client; //生成客户端代理。rn importer.CodeGenerationOptions = CodeGenerationOptions.GenerateProperties |rn CodeGenerationOptions.GenerateNewAsync;rn importer.AddServiceDescription(description, null, null); //添加WSDL文档。rn CodeNamespace nmspace = new CodeNamespace(); //命名空间rn nmspace.Name = "yzb"; //这个命名空间可以自己取rn CodeCompileUnit unit = new CodeCompileUnit();rn unit.Namespaces.Add(nmspace);rn ServiceDescriptionImportWarnings warning = importer.Import(nmspace, unit);rn CodeDomProvider provider = CodeDomProvider.CreateProvider("CSharp");rn CompilerParameters parameter = new CompilerParameters();rn parameter.GenerateExecutable = false;rn parameter.OutputAssembly = "MyTest.dll";//输出程序集的名称rn parameter.ReferencedAssemblies.Add("System.dll");rn parameter.ReferencedAssemblies.Add("System.XML.dll");rn parameter.ReferencedAssemblies.Add("System.Web.Services.dll");rn parameter.ReferencedAssemblies.Add("System.Data.dll");rn CompilerResults result = provider.CompileAssemblyFromDom(parameter, unit);rn if (result.Errors.HasErrors)rn rn // 显示编译错误信息 rn rn Assembly asm = Assembly.LoadFrom("MyTest.dll");//加载前面生成的程序集rn //Type t = asm.GetType("yzb.WeatherWS"); //前面的命名空间.类名,类必须是webservice中定义的rn Type t = asm.GetType("yzb.EventBusSvc"); rn //Type t = asm.GetType("JetSun.Iniuservice");rn object o = Activator.CreateInstance(t);rn MethodInfo method = t.GetMethod(_methodName);//GetPersons是服务端的方法名称,你想调用服务端的什么方法都可以在这里改,最好封装一下rn object item = method.Invoke(o, _params); //注:method.Invoke(o, null)返回的是一个Object,如果你服务端返回的是DataSet,这里也是用(DataSet)method.Invoke(o, null)转一下就行了rn WriteLog("动态调用 webservice 函数执行完.........", "");rn return item;rn rn[/code]我的主函数中是这样的rn[code=csharp] string _url = "http://svrwcf2.his-test.com/CoreService/EventBus.svc?wsdl";//内网的地址rn string _get = Form1.InvokeWebMethod(_url, "XmlPublish",rn new object[] showXml()).ToString();//我自己的函数调用![/code]rnrn希望大神可以帮忙解答一下
C#调用dll出错
[img=https://img-bbs.csdn.net/upload/201403/25/1395710821_504667.jpg][/img][img=https://img-bbs.csdn.net/upload/201403/25/1395710841_765726.jpg][/img]
c# 调用mysql存储过程出错
c#代码:rn[code=C#]rnstring MyConString = "DRIVER=MySQL ODBC 3.51 Driver;" +rnrn "SERVER=localhost;" +rnrn "DATABASE=test;" +rnrn "UID=root;" +rnrn "PASSWORD=888888;" +rnrn "OPTION=3";rnrn OdbcConnection conn = new OdbcConnection(MyConString);rnrn conn.Open();rn OdbcCommand cmd = new OdbcCommand();rn cmd.Connection = conn;rn cmd.CommandType = CommandType.StoredProcedure;rn cmd.CommandText = "p_text";rn OdbcParameter p1 = new OdbcParameter("t_count", OdbcType.Int);rn p1.Direction = ParameterDirection.Output;rn cmd.Parameters.Add(p1);rnrn int i = cmd.ExecuteNonQuery();rn TextBox1.Text = p1.Value.ToString();rnrn conn.Close();rn[/code]rnrn存储过程:rn[code=SQL]rncreate procedure p_text (out t_count int)rnbeginrn select count(*) into t_count from text;rnendrn[/code]rn
C#调用ocx控件出错
我做了个项目,需要调用ocx,现在ocx做了修改 需要重新调用rn我重新注册了ocx 也重新引用了rn但是只有Interop.xxx.dll有更新rnAxInterop.xxx.dll一直都没有更新 rnaxinterop.xxx.dll里面新添加的方法也都调用不到 rn请问大侠们:这是什么问题呢? 谢谢
C#调用API出错
[code=C/C++]LRESULT SHNotificationAdd(rn SHNOTIFICATIONDATA* pndAddrn);[/code]rnrn[code=C/C++]typedef struct _SHNOTIFICATIONDATA rn DWORD cbStruct;rn DWORD dwID;rn SHNP npPriority;rn DWORD csDuration;rn HICON hicon;rn DWORD grfFlags;rn CLSID clsid;rn HWND hwndSink;rn LPCTSTR pszHTML;rn LPCTSTR pszTitle;rn LPARAM lParam;rn SHNOTIFICATIONDATA;[/code]rnrn转成C#如下:rnrn [code=C#][DllImport("aygshell.dll")]rn internal static extern int SHNotificationAdd(ref SHNOTIFICATIONDATA shinfo);[/code]rnrn[code=C#] internal enum SHNPrn rn SHNP_INFORM = 0x1B1, rn SHNP_ICONIC, rn rnrn internal struct SHNOTIFICATIONDATArn rn internal uint cbStruct; rn internal uint dwID; rn internal SHNP npPriority; rn internal uint csDuration; rn internal IntPtr hicon; rn internal uint grfFlags; rn internal Guid clsid; rn internal IntPtr hwndSink; rn internal string pszHTML; rn internal string pszTitle; rn internal int lParam; rn [/code]rnrn调用如下:rnrn[code=C#]SHNOTIFICATIONDATA sn = new SHNOTIFICATIONDATA();rn sn.cbStruct = 56;//这个大小不知有没有对,用的是C++里面的Sizeofrnrn sn.dwID = WM_NOTIFY_TRAY;rn sn.npPriority = SHNP.SHNP_INFORM;rn sn.csDuration = 0;rn sn.hicon = hIcon;rn sn.clsid = Guid.NewGuid();rn sn.grfFlags = SHNF_STRAIGHTTOTRAY | SHNF_SILENT;rn sn.pszTitle = "GPSAccelerator";rn sn.pszHTML = "GPSAccelerator Tool";rn sn.hwndSink = hwnd;rnrn SHNotificationAdd(ref sn);//这边出错,可是Catch不到rn[/code]rnrn请高手帮忙,是我转的时候就错了,还是调用时传入的值不对
C#调用OCX出错。
一VC++6.0写的OCX,实现方法:rnTransProc(LPCTSTR msg, LPCTSTR type, LPCTSTR amount, LPCTSTR sbuf)rnrn在C#中调用rnrn参数声明为string(C#引用进来时将方法参数处理为string,无法使用其它类型),调用时出现以下错误:rnrnSystem.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。rnrn这个OCX无法改,是别人写好的,请高手不吝赐教。谢谢。
C#调用Oracle存储过程出错
Oracle写一个存储过程,包含有日期类型参数,此存储过程本身无问题。但是在C#中调用的时候出现错误,oracle说年必须在xxx和xxxxx之间。天呀,哪位老大可以帮帮我
C#调用C++dll出错
c++函数原型rnbool Det(const char * chImgFile,XSCRECT roiRect=XSCRECT(),const char * dstFile=NULL); rn结构体rnstruct XSCRECT rnrn int x;rn int y;rn int height;rn int width;rn XSCRECT() rn x = 0;rn y = 0;rn height = 0;rn width = 0;rn rnrn---------------------------rnc#代码如下rn结构体rn[StructLayoutAttribute(LayoutKind.Sequential)]rn public struct XSCRECTrn rn public int x;rn public int y;rn public int height;rn public int width;rn rn声明rn[DllImport("CBeltDetector.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]rnpublic static extern byte DetBelt(StringBuilder file, XSCRECT xs, StringBuilder dstfile=null);rn调用rnStringBuilder sb1 = new StringBuilder();rnStringBuilder sb2 = new StringBuilder();rnsb1.Append(@"D:\a.jpg");rnsb2.Append(@"D:\b.jpg");rnXSCRECT xs = new XSCRECT();rnbyte result = Det(sb1, xs, sb2)rn报错信息:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。rnStringBuilder换成string也是一样报错。求大神们解答
c#调用win32dll出错?
我的程序调用vc6.0的dll,是成功。rn但是调用完后,程序报一个线程,一个进程出错!rnrn这个dll是利用网络发数据的。rn数据发送成功-》报错-》程序自动关闭rnrn这是系统不兼容吗? 怎样解决?
C#调用EXCEl出错
原来程序调用excel没问题的,后来不知怎么调用报错,在其他的电脑上又可以调用rnrn错误提示无法将类型为“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 对象强制转换为接口类型“Microsoft.Office.Interop.Excel._Application”。此操作失败的原因是对 IID 为“000208D5-0000-0000-C000-000000000046”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 加载类型库/DLL 时出错。 (异常来自 HRESULT:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。rn 在 System.StubHelpers.StubHelpers.GetCOMIPFromRCW(Object objSrc, IntPtr pCPCMD, Boolean& pfNeedsRelease)rnrn请知道的朋友指导下
c# 最后调用出错
以下是我参考别人的一个转换人民币大写的函数程序,放在c#环境中进行调试,到最后出错,麻烦大家给打点一下:rnusing System;rnusing System.Collections;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Web;rnusing System.Web.SessionState;rnusing System.Web.UI;rnusing System.Web.UI.WebControls;rnusing System.Web.UI.HtmlControls;rnrnnamespace Webtestrnrn /// rn /// monkeytest 的摘要说明。rn /// rn public class monkeytest : System.Web.UI.Pagern rn protected System.Web.UI.WebControls.Label lbl1;rn rn private void Page_Load(object sender, System.EventArgs e)rn rn // 在此处放置用户代码以初始化页面rn rn public static string CmyCurD(decimal num)rn rn string str1="零壹贰叁肆伍陆柒捌玖";//0-9所对应的汉字//rn string str2="万仟佰拾亿仟佰拾万仟佰拾元角分";//数字位所对应的汉字//rn string str3="";//从原num值中取出的值//rn string str4="";//数字的字符串形式//rn string str5="";//人民币大写金额形式//rn int i;//循环变量//rn int j;//num的值乘以100的字符串长度//??//rn string ch1="";//数字的汉语读法//rn string ch2="";//数字位的汉字读法//rn int zeronum=0;//用来计算连续的零值是几个//rn int temp;//从原num值中取出的值,将字符形式转换为数字//rn num=Math.Round(Math.Abs(num),2);//将num取绝对值并四舍五入取2位小数,num是函数的形参//rn str4=((long)(num*100)).ToString();//将num乘以100并转换成字符串形式//rn j=str4.Length ;//找出最高位//rn if(j>15)rn rn return "error!";rn rn str2=str2.Substring(15-j);//取出对应位数的str2的值,例如200.55,j为5,所以str2=佰拾元角分//rn //循环取出每一位需要转换的值rn for(i=0;i3)rn rn ch1="";rn ch2="";rn zeronum=zeronum+1;rn rn elsern rn if(j>=11)rn rn ch1="";rn zeronum=zeronum+1;rn rn elsern rn ch1="";rn ch2=str2.Substring(i,1);rn zeronum=zeronum+1;rn rn rn rn rn rn if(i==(j-11)||i==(j-3))rn rn //如果该位是亿位或元位,则必须写上//rn ch2=str2.Substring(i,1);rn rn str5=str5+ch1+ch2;rn if(i==j-1&&str3=="0")rn rn str5=str5+'整';rn rn rn if(num==0)rn rn str5="零元整!";rn rn return str5;rn rn rn public static string CmycurD(string numstr)rn rn tryrn rn decimal num=decimal.Parse(numstr);rn return CmycurD(num);rn rn catchrn rn return "非数字形式!";rn rn rn rn #region Web 窗体设计器生成的代码rn override protected void OnInit(EventArgs e)rn rn //rn // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。rn //rn InitializeComponent();rn base.OnInit(e);rn rn rn /// rn /// 设计器支持所需的方法 - 不要使用代码编辑器修改rn /// 此方法的内容。rn /// rn private void InitializeComponent()rn rn this.Load += new System.EventHandler(this.Page_Load);rnrn rn #endregionrn rnrn就是这里运行不通:return CmycurD(num);rn出错原因是:rn1.与该方法最匹配的重载方法具有一些无效参数;rn2.无法从"decimal"转换为"string"rn请大家指点一下,急!
C#中调用libvlc实现本地、网络节目流的播放
C#中调用libvlc实现本地、网络节目流的播放 基于libVLC的视频播放器(支持RTSP协议)
libvlc Qt专题 13 libvlc API 01
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
精简版libvlc
精简版本的vlc体积小,vlc3.0.0,ffmpeg2.5,基本支持常用格式
关于libvlc
请问libvlc是否有提供接口解析含有多套节目的TS流,从而获取多套节目的列表?
libvlc源码
libvlc源码,可以在Ubuntu中编译通过。Linux ubuntu 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:06:37 UTC 2016 i686 i686 i686 GNU/Linux
libvlc Qt专题 01 LGPL下的libvlc
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
libvlc Qt专题 10 libvlc video callback
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
libvlc Qt专题 15 libvlc API 03
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
libvlc播放视频
使用libvlc库播放视频文件,也可以rtsp等网络流。里面已经包含了libvlc的源码库,不需要配置环境,可直接编译,并附用测试文件,亲测可用,绝对好用
c#调用非托管DLL出错的问题
原形rnint CFCA_VerifySignedDataDetached(char *signature, long signatureLength, char* originalData, int *originalDataLength, char *certificate, long *certificateLength, HCFCAToolkit toolkitHandle);rnrnsignature 输入rnsignatureLength 输入rnoriginalData 输入rnoriginalDataLength 输入rncertificate 输出rncertificateLength 输出rntoolkitHandle 输入rnrn转换成rn[DllImport("CFCAToolkit.dll", EntryPoint = "CFCA_VerifySignedDataDetached", SetLastError = true,rn CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]rn public static extern int CFCA_VerifySignedDataDetached(string signature, long signatureLength, string originalData, ref int originalDataLength, char[] certificate, ref long certificateLength, IntPtr toolkitHandle);rnrn调用报AccessViolationException异常,似乎是certificate这个参数传递造成的,请高手指点!
C#调用dll变体出错问题
使用大漠DLL插件中的screentoclient()函数,使用Tlbimp转换,版本为3.5rn转换后的原型为screentoclient(int hwnd,ref object x,ref object y)作用是将屏幕x,y的坐标值改变为某窗口客户区的坐标值rn查询得知,该插件好像是c++开发的控件,这两个值使用的是变体变量,于是使用object进行封箱。rnrnrnstring x=null,y=null;rnobject x1=x;rnobject y1=y;rn调用screentoclient报错说插件仅能识别VT_I2和VT_I4,网上查意思是VC++整型变体变量和长整型变体变量rn于是改用rnInt16 x=0,y=0;rnobject x1=x;rnobject y1=y;rn和rnInt64 x=0,y=0;rnobject x1=x;rnobject y1=y;rn包括Int32也试了,全都是报错为数据类型不兼容,请问这里应该怎么进行封箱才能正确取得x,y坐标的值rn我用的VS2008的C#。rn
在C#中调用API函数出错的问题
[DllImport("User32.dll")]rnpublic static extern IntPtr CreateDesktop(string lpszDesktop,string lpszDevice,object pDevmode,int dwFlags, long dwDesiredAccess, ref SECURITY_ATTRIBUTES lpsa);rn rn[StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential)]rnpublic struct SECURITY_ATTRIBUTESrnrn public int nLength; rn public object lpSecurityDescriptor; rn public int bInheritHandle;rn rn...rnrnSECURITY_ATTRIBUTES s;rns.nLength = Marshal.SizeOf(s);rns.lpSecurityDescriptor = new object();rns.bInheritHandle = 1;rn...rnrnstring str1 = "@%@";rnstring str2 = "%@&*";rnobject o = new object();rnCreateDesktop(str1,str2,o,0, 0x10000000L, ref s);rnrn提示错误:未能将对象引用设置对对象实例.我怎么也没找到空引用..不知错在哪里.rnrn另外,API中的SwithDesktop,CloseDesktop函数究竟是干什么用的?网吧管理软件中的虚拟桌面是用这类API做的吗?rnrnThanks in Advance!!
libvlc Qt专题 09 libvlc API
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
libvlc Qt专题 14 libvlc API 02
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
libVLC mencoder
咨询QQ: 347181469. 本课程适合中,从事音视频,网络通讯开发的学员。实战案例可用于 音视频处理,无人机,安防,直播等所有音视频领域。课程从Linux音视频采集,到TCP/IP UDP Socket服务器,客户端编程, 如何去定义网络通讯私有协议,x264,FFmpeg编解码,OpenGL ES渲染视频。OpenAL播放音频。到pcm实时转AAC,到H.264+AAC合成mp4. 整个过程,涵盖iOS,Android ,Mac 嵌入式Linux音视频相关绝大多数实用场景。以及Posix编程接口,C C++ Qt,FFmpeg跨平台开发,iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,周六晚8:00 ~10:00 QQ群内部直播答疑, 以及就业指导,项目练习等服务.rn
C#调用mysql存储过程出错。50分
用c#调用mysql存储过程出错.提示如下:rn[b]“检测到 PInvokeStackImbalancernMessage: 对 PInvoke 函数“MySQLDriverCS!MySQLDriverCS.CPrototypes::mysql_real_escape_string”的调用导致堆栈不对称。原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配。请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配。”[/b]rnC#调用代码如下:rn[code=C#] rn MySQLConnectionString str= new MySQLConnectionString("localhost", "abc", "root", "root");rn MySQLConnection conn = new MySQLConnection(str.AsString);rnrn conn.Open();rnrn MySQLCommand comm = new MySQLCommand();rn comm.Connection = conn;rn comm.CommandText = "pro_Insert";//存储过程名称rn comm.CommandType = CommandType.StoredProcedure;rnrn MySQLParameter par1 = new MySQLParameter("?sUserName", "a");rn comm.Parameters.Add(par1);rnrn MySQLParameter par2 = new MySQLParameter("?sUserPass", "a");rn comm.Parameters.Add(par2);rnrn MySQLParameter par3 = new MySQLParameter("?iID", 0);rn par3.Direction = ParameterDirection.Output;rn comm.Parameters.Add(par3);rnrnrn int rev=comm.ExecuteNonQuery();rnrn int id = Convert.ToInt32(par3.Value);rnrn MessageBox.Show(id.ToString());[/code]rn存储过程代码如下:rn[code=SQL]CREATE PROCEDURE `pro_Insert`(rnin sUserName varchar(45),rnin sUserPass varchar(45),rnout iID int)rnBEGINrn insert into `abc`.`t1` (rn UserName,rn UserPass)rn values(rn sUserName,rn sUserPass);rn set iID=@@IDENTITY;rn select iID;rnEND[/code]rnrn代码只是实现了简单的数据插入,并返回新数据的ID(自动编号),在MYSQL下直接调用存储过程没有问题,但代码中会保持。rn另:使用MySQLDriverCS.dll
后台C#调用JS出错
源代码rn protected void Submit_Click(object sender, EventArgs e)rn rn if (MyClass.ValidateUser(this.TxtBoxName.Text, this.TxtBoxPwd.Text) == true)rn Response.Redirect("WebForm1.aspx");rn elsern Response.Write(" ");rn rn当MyClass.ValidateUser(this.TxtBoxName.Text, this.TxtBoxPwd.Text) == false时,rnrn此句提示出错rnalter('No User Exist!')
C#创建线程调用方法参数出错
我想创建几个线程来熟悉多线程的一些知识于是写了一个小程序rnrn```rn using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.Threading;rnrnnamespace 多线程试验rnrn class Programrn rn static void Main(string[] args)rn rn int 线程计数器 = 1;rn 函数库 H = new 函数库();rn Thread th1 = new Thread(new ThreadStart(H.显示(线程计数器)));rn 线程计数器++;rn Thread th2 = new Thread(new ThreadStart(H.显示(线程计数器)));rn 线程计数器++;rn Thread th3 = new Thread(new ThreadStart(H.显示(线程计数器)));rn 线程计数器++;rn rn rn rnrnrn```rn上面是主方法,下面是我要用到的方法rnrn```rn using System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Text;rnusing System.Threading.Tasks;rnusing System.Threading;rnusing System.Windows;rnrnnamespace 多线程试验rnrn class 函数库rn rn public void 显示(int i)rn rn Console.WriteLine("这是第0个线程",i);rn Thread.Sleep(2000);rn Console.WriteLine("第0个线程结束",i);rn rn rnrn```rn但是在主函数中直接调用就没问题,但是如果在创建线程的时候作为参数调用方法就会出问题,错误提示是“应输入方法名称”。求各位大神解惑,先谢过!rn错误代码是rnThread th1 = new Thread(new ThreadStart(H.显示(线程计数器)));rnThread th2 = new Thread(new ThreadStart(H.显示(线程计数器)));rnThread th3 = new Thread(new ThreadStart(H.显示(线程计数器)));rn这三句rnrnrnrn
c# 调用 c++ dll 出错
各位大神:rnrn 我在c#调用 c++ dll时,老是报尝试读取或写入受保护的内存 这通常指示其它内存已损坏。rn rnc++ 函数:rn void __stdcall SetServerAddressAndPort ( const char * sIP, int nPort )rnrn参数说明:rnsIP[In] 服务器IP rnnPort[In] 服务器端口 rnrnReturnsrnNone rnrnc# 声明:rn [DllImport("ImApi.dll", EntryPoint = "SetServerAddressAndPort", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.StdCall)]rn public static extern void SetServerAddressAndPort(string sip, Int16 nport);rnrn程序调用:rn Int16 port = 5123;rn string ip = "124.205.114.11";rn rn SetServerAddressAndPort(ip, port);rnrn这个问题折腾我好几天了。真是快崩溃了。求救大神。rnrn另:第一个参数 我试过 char[],StringBuilder,Byte[],IntPtr,都快疯了!rn rn rn
delphi调用C# WebService 出错?
C# WebService中的函数rn [WebMethod]rn public string Test_Pro(string vString)rn rn return vString; rn rnrnDelphi中调用为:rnvarrn d:ServiceSoap;rnbeginrn d:=GetServiceSoap();rn Caption:= d.Test_Pro('asdasdasdasd');rnrn但是调用出错,但是VS调试又是正确的,不晓得怎么办?
c# winform调用webservice出错
winform调用webservice,每次线程休眠100毫秒,大概到200多次的时候报错,大家看看是什么问题?rnrn有关调用实时(JIT)调试而不是此对话框的详细信息,rn请参见此消息的结尾。rnrn************** 异常文本 **************rnSystem.Net.WebException: 基础连接已经关闭: 连接被意外关闭。rn 在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)rn 在 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)rn 在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)rn 在 SENDMESSAGE.cn.ywsunbu.www.SENDSMS.SendSMSone(String mobile, String content) 位置 H:\net\SENDMESSAGE\SENDMESSAGE\Web References\cn.ywsunbu.www\Reference.cs:行号 114rn 在 SENDMESSAGE.Form1.sendtxt() 位置 H:\net\SENDMESSAGE\SENDMESSAGE\Form1.cs:行号 63rn 在 SENDMESSAGE.Form1.button2_Click(Object sender, EventArgs e) 位置 H:\net\SENDMESSAGE\SENDMESSAGE\Form1.cs:行号 37rn 在 System.Windows.Forms.Control.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnClick(EventArgs e)rn 在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)rn 在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)rn 在 System.Windows.Forms.Control.WndProc(Message& m)rn 在 System.Windows.Forms.ButtonBase.WndProc(Message& m)rn 在 System.Windows.Forms.Button.WndProc(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)rn 在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)rn 在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)rn
c#调用VC++6.0的DLL出错
以下是我 用Winform做的一个测试程序 就是调用这个VC++6写的 DLL rnrn private void Form1_Load(object sender, EventArgs e)rn rn tryrn rn long back = PtzDown();rn MessageBox.Show(back.ToString());rn rn catch (Exception ex)rn rn MessageBox.Show(ex.ToString());rn rn rn rn [DllImport(@"G:\YingQing\YingQing_Dll\bin\ZszcVA.dll", SetLastError = true, EntryPoint = "PtzDown")]rn private static extern long PtzDown();rnrnrn错误是:rn[System.DllNotFoundException] = "无法加载 DLL“G:\\YingQing\\YingQing_Dll\\bin\\ZszcVA.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。"rnrn此DLL我有放在Bin\debug 和 Bin 还有 System32 目录下 都是样的结果 DLL的名字是复制的,肯定不会错rnrn如果想要DLL 可以加我Q:564748474 飞信号码:767180646 或者到 www.126.com 去下载。用户名:dllimport@126.com 密码是:dllimport@126 在草稿箱中rnrn
在C#中调用SQL存储过程出错
存储过程为:rnCREATE PROCEDURE [GetKey] rnrn@KeyName varchar(10),rn@KeyValue int OUTPUT rnrnAS rnUPDATE IntKey SET @KeyValue = KeyValue = KeyValue + 1 WHERE KeyName = @KeyNamernGOrnrnC#代码为:rn[code=C#]rncmd.CommandType = CommandType.StoredProcedure;rncmd.CommandText = "GetKey";rncmd.Parameters.Add(new SqlParameter("@KeyName", "CustomerID"));rncmd.Parameters.Add(new SqlParameter("@KeyValue", SqlDbType.Int));rncmd.Parameters[1].Direction = ParameterDirection.ReturnValue;rncmd.ExecuteNonQuery();rn[/code]rnrn执行到cmd.ExecuteNonQuery();时总会提示过程GetKey需要参数"@KeyValue",但未提供该参数。
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo