2

目前,通过 getUserMedia,我可以使用 blob URL 来将(音频)数据传回。但是,我希望能够从中获取原始数据。blob URL 是不是特别的“黑魔法”,一旦页面关闭就没有用了?是否有实际数据编码在其中或只是指向内存中某个流的指针?如果我尝试在另一个浏览器中打开这个 blob,我会成功吗?

更重要的是,直接从 getUserMedia 获取流对象并发送它的原始音频的最佳方法是什么(我不关心套接字代码本身,但是您如何只获取样本类型的东西)?我最终想玩一个极简的 VoIP 类型的应用程序。

我目前正在使用这样的代码示例:

navigator.webkitGetUserMedia({audio: true}, function(stream){
 console.log(window.URL.createObjectURL(stream));
}, function(){
    console.log("REJECTION!");
});

但是,我希望能够获取流变量并实际获取有形数据,这是另一个客户端能够解析和处理的数据。

4

1 回答 1

1

@bobbybee,正如@konga-raju 在他对一个非常相似的问题的回答中指出的那样,浏览器上的实现还没有准备好。但是,您可以尝试通过在单独的轨道中将视频录制为 webm(使用画布技巧)+音频(使用 recorderjs 编码为 wav/mp3)来解决它,将它们推送到您的服务器并再次编译它们。有关这两个问题,请参阅RecordJS。目前,它并没有一起做 AV,所以你必须玩弄它才能实现它。

或者你可以只用几周的时间,直到它在某个版本的 Chrome 中实现记录。:)

于 2013-06-22T16:56:46.067 回答