简介:我有一个Servlet,它接收一个我无法读取的请求(getContentType()= audio /
x-wav)。我需要阅读此wave并将其保存在服务器端。
详细的故事:我对Flex,javascript,PHP和Python一无所知,我想记录(从客户端“浏览器”中获取)wave文件并将其发送到服务器以进行保存(以进行进一步的ASR处理)。
经过一番搜索后,我发现了一个我已经使用过的名为Wami-Recorder的库(使用flex和java
scrip),但是它没有给我任何Java服务器端示例,它也缺少文档,所以我决定动手做。使它工作。它包含一个服务器端python和PHP示例(我将列出PHP一个):
<?php
# Save the audio to a URL-accessible directory for playback.
parse_str($_SERVER['QUERY_STRING'], $params);
$name = isset($params['name']) ? $params['name'] : 'output.wav';
$content = file_get_contents('php://input');
$fh = fopen($name, 'w') or die("can't open file");
fwrite($fh, $content);
fclose($fh);
?>
最后一点是,我确定如果创建了套接字服务器并将请求定向到该套接字服务器,我将能够轻松获取媒体,但是我希望所有事情都可以由Servlet处理。
基本上,Java servlet等同于以下PHP行,这是代码中的关键行,
$content = file_get_contents('php://input');
是
InputStream input = request.getInputStream();
这基本上返回了唯一的HTTP请求正文。您可以将其以任意OutputStream
常用的Java方式编写。例如,一个new FileOutputStream("/some.wav")
。
您应该只意识到HTTP请求正文只能被读取一次,并且在您调用任何request.getParameterXxx()
方法时都会隐式地对其进行解析。因此,如果您也对请求URI查询字符串中的参数感兴趣,则应改用
String queryString = request.getQueryString();
并自己进一步解析(即分割为&
,然后分割为=
,然后URLDecode
是名称和值)。
我正在使用Android Media Player从我的服务器播放音乐。可以使用MediaPlayer将播放音频保存到存储吗?
开始录音接口 wx.startRecord(); 停止录音接口 wx.stopRecord({ success: function (res) { var localId = res.localId; } }); 监听录音自动停止接口 wx.onVoiceRecordEnd({ // 录音时间超过一分钟没有停止的时候会执行 complete 回调 complete:
我对ffmpeg相当陌生,我正试图用另一个文件替换第一个音频文件的一部分。第二个文件可能太短,因此应该存在某种循环。 经过一些研究,我提出了以下命令参数,只要我只做一次替换,它就会给出输出。但我想做多个替换。我做错了什么有什么帮助吗?也非常欢迎对工作方式提出任何建议/意见。 (以下命令中的任何错别字都可以忽略,我通过脚本生成命令,为了便于使用,我简化了名称。) 作品(更换1件):
我想创建一个能够接收音频流的Android应用程序。我曾想过使用A2DP配置文件,但似乎Android不支持A2DP接收器。看起来有很多人在寻找这个问题的解决方案。但是,如果接收一个普通的位流,然后在应用程序中将数据转换成音频呢?我想通过RFCOMM(SPP蓝牙模式)接收PCM或Mp3数据流,然后使用AudioTrack播放。 首先,我如何通过RFCOMM在我的Android手机上接收比特流?是否
问题内容: 我想使用servlet将音频/视频文件流式传输到Web。 我尝试使用以下servlet: 以及以下HTML: 但是,播放器只是在加载…正在加载…正在加载… 这是怎么引起的,我该如何解决? 问题答案: 许多媒体播放器要求服务器支持所谓的HTTP范围请求。也就是说,它必须能够根据要求返回带有标头的媒体文件的特定部分。例如,在10MB长的文件中,只有位于精确索引1000的字节,直到2000为
我想在Discord语音频道中录制音频,并使用Discord机器人将其保存到文件中。 我收到音频每20毫秒作为pcm编码字节[],我想保存到一个文件。MP3是首选,但我没有其他文件格式的问题,如ogg(它可能更容易)。 我正在使用JDA版本我还包括lavaplayer版本用于其他功能。如果这些库是一个很好的库,这将是很有帮助的,但是如果我必须包含更多的库,这是没有问题的。