【问题标题】:Record the stream by calling the library LIBRTMP Delphi通过调用库 LIBRTMP Delphi 录制流
【发布时间】:2012-10-10 07:54:12
【问题描述】:
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_Connect (MY_RTMP, 0); - [DCC 错误] fMain.pas (36): E2033 实际和形式 var 参数的类型必须相同 提前致谢

【问题讨论】:

  • RTMP_Connect 期望有一个声明的RTMPPacket 类型变量作为第二个参数传递。
  • 好吧,显然你的类型不匹配。该过程需要不同的参数。您是否希望我们四处寻找并计算出预期的参数。您的代码具有RTMP_Connect 的声明。你可以看到它期望的参数。我们不能。至少,请告诉我们RTMP_Connect
  • 我从 OP 的上一个问题中的 the link 得到它。它需要 RTMPPacket 类型变量作为第二个参数。
  • @TLama 关键是我们不应该四处寻找。你应该让你的评论成为答案。这显然是答案。
  • @David,感谢您的编辑!

标签: delphi delphi-xe2 rtmp


【解决方案1】:

the code 中定义的RTMP_Connect 您已在previous question 中链接,它希望将声明的RTMPPacket 变量作为第二个参数传递。所以使用你的命名约定,你可以试试这个:

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;

也许MY_RTMPPacket 需要在调用RTMP_Connect 之前初始化。但毫无疑问,您可以从图书馆的文档中进行我们的工作。

【讨论】:

  • 是的,可以,但是找不到函数记录流,能否让位记录流var MY_RTMP: RTMP; URL_str: string; MY_RTMPPacket: RTMPPacket; URL_char: PAnsiChar; 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_EnableWrite(MY_RTMP); RTMP_Connect(MY_RTMP, MY_RTMPPacket); RTMP_ConnectStream(MY_RTMP,0); RTMP_Read(); -? end;谢谢
  • @Anvar 再次阅读您的问题。您在任何地方都没有要求我们帮助您学习如何使用这个库。事实上,你甚至不会问一个问题。您只需提供一些代码和编译器错误消息。我们可以得出的唯一结论是您需要帮助解决编译器错误。该答案涉及该问题,您应该简单地接受答案。现在,如果您想询问有关如何使用该库的问题,请随时提出。但他们需要新的问题。并且在提出问题时要付出更多的努力。我知道你是新来的。我推荐faq
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-30
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 2019-01-09
  • 2016-03-23
  • 1970-01-01
相关资源
最近更新 更多