我想使用麦克风通过网络浏览器录制音频,并希望将其传输到我的shoutcast服务器。这样用户就可以立即收听直播。有没有办法做到这一点。也可以在iPhone上播放。
在网上搜索了很多东西,却找不到确切的东西。如果有任何可行的方法,请告诉我。
已使用WebRTC音频广播script。哪个正在通过网络工作,但iPhone上没有该流。每当我要联合一个房间时,显示器就无法播放音频。
答案 0 :(得分:1)
我过去做过这个。您可以在http://demo.audiopump.co:3000处尝试。
当前在浏览器中获取音频的唯一方法是使用getUserMedia和Web Audio API。这可以获得PCM样本。遗憾的是,目前无法以编程方式使用浏览器编解码器。
我通过将PCM样本发送到服务器来处理此问题。现在,我不会将它们作为32位浮点数发送,这是它们所处的格式。我检测Web套接字的缓冲区大小并相应地调整位深度。如果有足够的带宽,我将发送16位立体声。否则我可以下降到8位单声道。在服务器上,样本将被转换回32位浮点数并使用Ffmpeg进行编码。
从那里,数据被实时发送到SHOUTcast服务器。
答案 1 :(得分:0)
使用RecordRTC录制音频;使用ffmpeg.js或ffmpeg-asm.js将WAV转换为mp3或ogg;然后你可以向shoutcast服务器发出HTTP-PUT请求来上传低尺寸的ogg;然后shoutcast服务器可以将它广播到所有相关的广播电台。
P.S。 “低音”我的意思是,1分钟音频;你可以得到700kb到1024kb ogg。
P.S。我将在我的github存储库中添加一些演示;很快。
<强>更新强>
可以使用Google语音识别API将语音转换为文本;该文本可以通过socketio流式传输到nodejs服务器;您可以在其中使用ffmpeg进行文本到语音转换并编码为ogg或其他格式;编码ogg可以转发(使用PUT请求)到shoutcast服务器。
您可以尝试Translator.js。
答案 2 :(得分:-1)
是的,我们可以使用AVAudioSession录制实时音频流。请仔细阅读Apple文档以获取更多详细信息。