7

我正在构建一个在线 Web 应用程序,它可以让客户测试他们的语言技能。

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

这可能使用 PHP、Java 或类似的东西吗?

感谢您的任何帮助 :)

4

5 回答 5

9

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

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


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

于 2012-07-09T04:00:12.560 回答
7

正如另一个答案所建议的那样,解决该问题的唯一现实解决方案是使用 Flash 或 java 小程序。在一两年内,希望会有所改变,您将能够使用 javascript 和 HTML5,但这是现在。

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

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

您不需要 java 语音 API 或 JMF,只需要 java 声音。您可能希望 JMF 压缩音频文件以加快上传速度,但您可以在没有的情况下完成此操作。请注意,您可能需要“签名”您的小程序才能在浏览器中录制音频。

如果你不喜欢 flash,你也可以使用 haxe 来编写你的 flash 代码。

于 2012-07-03T16:49:52.323 回答
2

不是 100% 你在寻找什么,但我认为它至少会给你一些想法。

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

于 2012-07-03T13:47:06.550 回答
1

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

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

  • Flash 是浏览器中广泛安装的插件
  • Java Applet 在运行之前会发出警告,这会多次关闭用户。
  • 从数字上看,大多数媒体应用程序都是使用 Flash 创建的,因此可以为您提供很好的支持。
  • Java Applet 用于胖客户端必须适合浏览器并且必须安全的地方。您仍然会发现许多实时踩踏应用程序是用 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/

于 2012-07-10T12:16:54.210 回答
0

有一个用 PHP、Flash 和 HTML5 编写的录音 SDK。 http://recordmp3online.com

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

于 2013-08-19T07:13:32.593 回答