繁体   English   中英

在Java Applet中捕获用户的声卡输出

[英]Capturing the user's sound card output in a Java Applet

我正在寻找一种捕获用户声卡输出并通过RTMP实时将其流式传输到Red5服务器的方法。

不能选择使用音频重定向,例如Windows Stereo Mix,因为它很难配置,并且在配置和Windows版本之间无法始终如一地工作。

我愿意朝这个方向提供各种解决方案-甚至使用JNI / JNA吗?

感谢您的建议!

如果您愿意使用JNI / JNA,为什么不通过C ++或C访问声音驱动程序,这会容易得多,因为无论如何您都将用Java编写接口,但是它们的实现将在C ++或C中进行。

请参阅Java教程中的捕获音频

在可能截取声线中的数据之前,必须对小程序进行数字签名并得到最终用户的信任。

如果未启用任何软件或硬件“音频环回”,则它可能会完全失败(即使在完全受信任的applet中)。

这看起来并不简单。

您需要做什么[第1部分-创建一个存储信息的地方]:

  • 描述服务器,文件存储位置。 (例如:Google App Engine)
  • 描述您要如何存储文件。 (例如:数据存储)
  • 描述数据完整性的重要性。 (例如:使用现有的上载api上载文件然后流传输数据更容易。示例Apache FileUpload)

假设您要上传到服务器数据库的文件(例如.ogg)音频文件的最大大小为1 mb。 如果要创建自动化上载器,则还可以创建一个可以手动使用的网页前端。

如果您想回答问题,然后形成清晰的问题,人们可以回答。 如果您未指定限制,则说明它是IMO非专业人士,至少我永远不会写一个复杂的解决方案。


抱歉,我的最初答案对您没有用。 我试图简化问题,但是我简化了。 "Everything should be made as simple as possible, but not simpler." A. Einstein.

为了解决您的问题,我建议:

  • Screener-一个Java程序,它不仅流音频,还包括截屏视频。 在此处输入图片说明

如果它不能解决您的问题,那么我希望它至少对您有用。

好的-在Java中,绝对没有本地方法可以捕获从浏览器输出的声卡。 可以使用Java Native Interface编写特定于平台的代码来截取该行,并将原始音频数据传递到applet进行进一步处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM