我想做的是录制一个用户和另一个用户之间正在进行的视频通话。一旦用户单击录制按钮,视频录制就会开始。但是,我遇到了以下问题
Unable to fetch record↵Invalid RecordingSid parameter
我使用rails作为api,使用reactjs作为前端。在 Rails 方面,我做了以下操作
def record
@client = client_authenticate()
puts params["room_sid"]
# RM5XXXXXXX
recording = @client.video.recordings(params["room_sid"]).fetch
puts recording.track_name
end
前端侧
const Controls = ({ handleLeaveRoom, handleMute, handleRecord, mute }) => (
<Wrapper>
<Icon icon={mute ? faMicrophoneSlash : faMicrophone} size="2x" onClick={handleMute} />
<HangCall icon={faPhone} size="2x" onClick={handleLeaveRoom} />
<Icon icon={faDesktop} size="2x" />
<Icon icon={faCloud} size="2x" onClick={handleRecord} />
</Wrapper>
);
const handleRecord = async () => {
try {
const response = await fetch(`${API_BASE}/twilio/record`, {
method: "POST",
body: JSON.stringify({ room_sid: room.activeRoom.sid }),
headers: {
"Content-Type": "application/json"
}
});
console.log("requested");
const jsonResponse = await response.json();
console.log("jsonResponse", jsonResponse);
} catch (e) {
console.error("e", e);
}
}
简而言之,我想在用户按下云端录制按钮时录制正在进行的视频通话,但遇到了以上问题。我发送我们加入房间时收到的 sid。
最佳答案
这里是 Twilio 开发者布道者。
我在文档中找不到任何内容表明您可以在视频中途开始录制。据我所知,您需要 create the room via the REST API and set the recordParticipantsOnConnect
parameter to true
一旦参与者加入,就会记录他们。
在 Rails 端的代码中,您尝试使用房间 SID 请求尚不存在的录音,该房间 SID 是房间的标识符,不适用于录音。这就是该请求失败的原因。
没有 API 端点可以中途开始录制。
关于javascript - 仅当用户在 twilio 中输入录制按钮时才录制房间中的视频通话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54453576/