我正在寻找一种方法来捕获用户的声卡输出,并通过RTMP实时将其传输到red5服务器。
使用音频重定向,例如使用Windows Stereo Mix不是一个选项,因为它很难配置,并且在配置和Windows版本中不能一致地工作。
我愿意接受这方面的各种解决方案 - 甚至可能是JNI / JNA?
感谢您的建议!
答案 0 :(得分:0)
如果您愿意使用JNI / JNA,为什么不通过C ++或C访问声音驱动程序,这将更容易,因为无论如何您将用Java编写接口,但它们的实现将使用C ++或C. / p>
答案 1 :(得分:0)
请参阅Java教程中的Capturing Audio。
最终用户需要对applet进行数字签名和信任,然后才能拦截声音线中的数据。
如果未启用任何软件或硬件“音频回送”,则可能会完全失败(即使在完全受信任的小程序中)。
答案 2 :(得分:0)
这并不像看起来那么微不足道。
您需要做什么[第1部分 - 创建存储信息的地方]:
假设您有最大大小为1 MB的文件(例如.ogg)音频文件,您要将其上传到服务器数据库。如果您要创建自动上传器,您可以创建一个可以手动使用的网页前端。
如果你想回答你的问题,那么形成一个明确的问题,人们可以回答。如果你没有指定限制,那么IMO是非专业的,至少我永远不会写一个复杂的解决方案。
抱歉,我的初步答案对你没用。我试图简化问题,但我简化了它。 "Everything should be made as simple as possible, but not simpler." A. Einstein.
作为解决问题的潜在解决方案,我建议:
如果它无法解决您的问题,那么我希望它至少对您有用。
答案 3 :(得分:0)
好的 - 在Java中肯定没有本地方法可以从浏览器中捕获声卡输出。可以使用Java Native Interface编写特定于平台的代码来拦截该行并将原始音频数据传递给applet以进一步处理它。