我正在构建一个在线 Web 应用程序,它可以让客户测试他们的语言技能。
该应用程序由客户可以自由进行的一系列不同测试组成。其中一项测试是客户在网页上看到一个句子,然后被要求对着麦克风说出这个句子。这个想法是记录音频流,将其发送到服务器并将其保存到文件中。
这可能使用 PHP、Java 或类似的东西吗?
感谢您的任何帮助 :)
正如另一个答案所建议的那样,解决该问题的唯一现实解决方案是使用 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 代码。
不是 100% 你在寻找什么,但我认为它至少会给你一些想法。
可以同时使用 Flash 和 Java 来解决这个问题。您可以使用 Flash 组件录制声音并将其分块发送到服务器端,这可以使用 java 实现。
在 Flash 中创建录音机的优点很多。
这里有几个在 Flash 中创建录音机的教程
这种收集的声音流可以存储在客户端的块中,并且可以与后端服务器同步(任何服务器端语言都可以。)。
用 Java 实现您的服务器具有优势。如果明天需要,您可以使用 Java 实现的 Red5 服务器流式传输相同的声音。
在此处查看更多信息:http ://www.red5.org/
有一个用 PHP、Flash 和 HTML5 编写的录音 SDK。 http://recordmp3online.com
我实际上是那个 SDK 的作者(完全披露)