通过调用LIBRTMP Delphi库记录流

通过调用LIBRTMP Delphi库记录流,delphi,delphi-xe2,rtmp,Delphi,Delphi Xe2,Rtmp,错误RTMP_Connect(我的RTMP,0);-[DCC错误]fMain.pas(36):E2033类型的实际和形式var参数必须相同 提前感谢在中定义的RTMP\u Connect,您在中链接的RTMPPacket希望将声明的RTMPPacket变量作为第二个参数传递。因此,使用您的命名约定,您可以尝试以下方法: var MY_RTMP: RTMP; URL_str: AnsiString; begin URL_str: = 'rtmp :/ / localhost: 1935

错误RTMP_Connect(我的RTMP,0);-[DCC错误]fMain.pas(36):E2033类型的实际和形式var参数必须相同
提前感谢

在中定义的
RTMP\u Connect
,您在中链接的
RTMPPacket希望将声明的
RTMPPacket
变量作为第二个参数传递。因此,使用您的命名约定,您可以尝试以下方法:

var
  MY_RTMP: RTMP;
  URL_str: AnsiString;
begin
  URL_str: = 'rtmp :/ / localhost: 1935/Video/test.stream';
  MY_RTMP: = RTMP_Alloc;
  RTMP_Init (MY_RTMP);
  RTMP_SetupURL (MY_RTMP, pcchar (URL_str));
  RTMP_Connect (MY_RTMP, 0);
  RTMP_ConnectStream (MY_RTMP, 0);
end;

在调用
RTMP\u Connect
之前,可能需要初始化
MY\u RTMPPacket
。但是,毫无疑问,您可以从库的文档中使用该变量。

RTMP_Connect
希望将声明的
RTMPPacket
类型变量作为第二个参数传递。显然,您的类型不匹配。该过程需要不同的参数。你希望我们四处搜寻,找出预期的参数吗。您的代码具有
RTMP\u Connect
的声明。您可以看到它需要哪些参数。我们不能。在绝对最小值下,向我们展示
RTMP\u Connect
。我是从OP的上一个问题中得到的。它期望第二个参数为
RTMPPacket
type变量。@TLama关键是我们不必四处搜寻。你应该把你的评论作为回答。这显然是答案。@David,谢谢你的编辑!是的,它可以工作,但是我找不到函数记录流,你能让路记录流
var MY\u RTMP:RTMP;URL_str:string;我的RTMPPacket:RTMPPacket;URL_char:PAnsiChar;开始URL_str:='rtmp://localhost:1935/Video/test.stream';  MY\u RTMP:=RTMP\u Alloc;RTMP_Init(我的RTMP);RTMP_设置URL(我的RTMP,pcchar(URL_str));RTMP_EnableWrite(我的RTMP);RTMP\u Connect(我的RTMP,我的RTMPPacket);RTMP\u ConnectStream(MY\u RTMP,0);RTMP_Read();-?结束thanks@Anvar再读一遍你的问题。你没有要求我们帮助你学习如何使用这个图书馆。事实上你连一个问题都没问。您只需给出一些代码和编译器错误消息。我们能得出的唯一结论是,您需要帮助解决编译器错误。这个答案解决了这个问题,你应该简单地接受这个答案。现在,如果您想询问有关如何使用图书馆的问题,请随时提问。但他们需要新的问题。在问问题时,一定要更加努力。我知道你是新来的。我向你推荐最新的。
var
  URL_str: AnsiString;
  MY_RTMP: RTMP;
  MY_RTMPPacket: RTMPPacket;
begin
  URL_str := 'rtmp://localhost:1935/Video/test.stream';
  MY_RTMP := RTMP_Alloc;
  RTMP_Init (MY_RTMP);
  RTMP_SetupURL (MY_RTMP, pcchar (URL_str));
  RTMP_Connect (MY_RTMP, MY_RTMPPacket);
  RTMP_ConnectStream (MY_RTMP, 0);
end;