【发布时间】:2014-10-17 18:35:46
【问题描述】:
我正在尝试通过来自 WebRTC 的 PeerConnection 发送由getUserMedia() 获得并使用 Web 音频 API 进行更改的音频。 Web Audio API 和 WebRTC 似乎有能力做到这一点,但我无法理解如何做到这一点。在 Web Audio API 中,AudioContext 对象包含一个方法createMediaStreamSource(),它提供了一种连接由 getUserMedia() 获得的 MediaStream 的方法。此外,还有一个createMediaStreamDestination() 方法,它似乎返回一个带有流属性的对象。
我从 getUserMedia() 方法获取音频和视频。我遇到的问题是如何将此流对象(包括音频和视频)传递给这些方法(例如:createMediaStreamSource())?我是否首先需要以某种方式从流中提取音频(getAudioTracks)并找到一种方法将其与视频结合起来?还是我按原样传递它并且它不影响视频?音频只能更改一次(在添加到 PeerConnection 之前)吗?
【问题讨论】:
-
根据 W3C 的工作草案,createMediaStreamSource() 获取一个 MediaStream 对象,该对象的第一个 AudioMediaStreamTrack 将用作音频源。但是,createMediaStreamDestination() 方法表示一个只有一个 AudioMediaStreamTrack 的 MediaStream 对象。我会做更多的研究,希望能提供答案。
标签: javascript html webrtc web-audio-api