是否可以在基于 PHP 或 JAVA 的在线 Web 应用程序中录制从客户端到服务器的音频


Is it possible to record audio from client to server in PHP- or JAVA-based online web application?

我正在构建一个在线网络应用程序,为客户提供测试他们的语言技能。

该应用程序由一系列不同的测试组成,客户可以自由地进行。其中一个测试是客户端在网页上看到一个句子,然后被要求对着麦克风说出这句话。这个想法是录制音频流,将其发送到服务器并将其保存到文件中。

使用PHP,Java或类似的东西可以做到这一点吗?

感谢您的任何帮助:)

我知道

你要求PHP,我猜这是你选择的语言,但你有没有考虑过使用html5来录制你的音频?注意:浏览器支持仍然不足,但根据您的要求可能值得研究。

查看本教程;它使用 GETUSERMEDIA API 访问摄像头和麦克风硬件。


更新:这是关于该主题的另一个很好的教程。

解决这个问题的唯一现实的解决方案是使用flash,正如另一个答案所建议的那样,或者Java小程序。在一两年内,这种情况有望改变,你将能够使用javascript和HTML5,但这是现在。

我会说这是一个更好,更容易用flash解决的问题,但是对于java,你需要编写一个java小程序来进行记录。以下是一些帮助您入门的提示:

http://docs.oracle.com/javase/tutorial/deployment/applet/http://www.java2s.com/Tutorial/Java/0120__Development/CapturingAudiowithJavaSoundAPI.htmhttp://www.jsresources.org/

你不需要java语音API或JMF,只需要java声音。您可能希望JMF压缩音频文件以使上传速度更快,但是您可以在没有的情况下执行此操作。请注意,您可能需要对小程序进行"签名"才能在浏览器中录制音频。

如果您不喜欢闪存,也可以使用 haxe 编写闪存代码。

不是 100% 你想要的,但我认为它至少会给你一些想法。

如何将流音频录制到服务器

使用Flash和Java都可以解决这个问题。您可以使用Flash组件来录制声音并将其分块发送到服务器端,这可以使用java实现。

在Flash中创建录音机的优点很多。

  • Flash是浏览器中广泛安装的插件
  • Java Applet在运行它之前会发出警告,这多次会关闭用户。
  • 经过数字检查,大多数媒体应用程序都是使用Flash创建的,从而为您提供了很好的支持。
  • Java 小程序用于胖客户端必须适合浏览器并且也必须安全的地方。您仍然会发现许多实时踩踏应用程序都是用java小程序编写的。

以下是在Flash中创建录音机的几个教程

http://active.tutsplus.com/tutorials/actionscript/create-a-useful-audio-recorder-app-in-actionscript-3/

Adobe 录制声音并保存

这种收集的声音流可以存储在客户端的块中,并且可以与后端服务器同步(任何服务器端语言都可以)。

在 Java 中实现服务器具有优势。如果明天需要,您可以使用在 Java 中实现的 Red5 服务器流式传输相同的声音。

在此处查看更多信息: http://www.red5.org/

有一个

录音SDK,它是用PHP,Flash和HTML5编写的。 http://recordmp3online.com

我实际上是该SDK的作者(完全披露)