录制
本章节着重介绍实时音视频有关录制的内容。网易云信实时音视频Linux sdk提供服务端录制方式。 服务端录制需要您联系我们的销售,开通此功能,并且需要在管理中心中成功配置消息抄送服务。实时音视频服务端录制目前仅支持点对点音视频通话。假设A和B进行实时音视频通话,服务端录制下来的文件包括:A的纯音频文件(.aac)、A的音视频文件(.mp4)、B的纯音频文件(.aac)、B的音视频文件(.mp4)。如果是纯音频通话,则没有相应的音视频文件,如果您开通了服务端混合录制,则还会生成一个A和B的混合音视频文件(.mp4)。这些录制文件的地址在音视频通话结束之后会通过抄送服务抄送到您的服务器。
服务端录制
服务器录制信息回调
API介绍
当通话连接成功后,在连接成功信息中会带有指定的音视频文件名。如果服务器有录制,会录制该文件。
API原型
public delegate void onSessionConnectNotifyHandler(long channel_id, int code,string record_file,string video_record_file,long chat_time, ulong chat_rx, ulong chat_tx);
File:NIMVChatDef.cs
参数说明
参数 | 类型 | 说明 |
---|---|---|
channel_id | long | 频道id |
code | int | 结果状态,200代表连接成功 |
record_file | string | 录制音频文件名(服务器开启录制时有效) |
video_revord_file | 录制视频文件名(服务器开启录制时有效) | |
chat_time | long | 通话本地时长,code为1001有效 |
chat_rx | ulong | 下行数据量 code为1001有效 |
chat_tx | ulong | 上行数据量 code 为1001有效 |
示例
void NIMVChatRequest(bool audio,string account)
{
NIMVChatInfo info = new NIMVChatInfo();
info.Uids.Add(account);
info.KeepCalling = 1;
info.ServerAudioRecord = 1;//开启服务端音频录制
info.CustomAudio = 0;
/*目前只有音频通话*/
VChatAPI.Start(NIMVideoChatMode.kNIMVideoChatModeAudio, "Untiy Demo", info);
}
特殊说明
客户端录制
音频文件开始录制
API介绍
开始录制音频文件,一次只允许一个音频录制文件
API原型
public static void StartAudioRecord(string path, NIMVChatAudioRecordOptHandler cb);
File:NIMVChatAPI.cs
参数说明
参数 | 类型 | 说明 |
---|---|---|
path | string | 暂时无效 |
cb | NIMVChatAudioRecordOptHandler | 结果回调 |
示例
NIMVChatAudioRecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
{
};
VChatAPI.StartAudioRecord("", cb);
特殊说明
音频文件结束录制
API介绍
停止录制音频文件
API原型
public static void StopAudioRecord(NIMVChatAudioRecordOptHandler cb);
File:NIMVChatAPI.cs
参数说明
参数 | 类型 | 说明 |
---|---|---|
cb | NIMVChatAudioRecordOptHandler | 结果回调 |
示例
NIMVChatAudioRecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
{
};
VChatAPI.StopAudioRecord( cb);
特殊说明
MP4文件开始录制
API介绍
开始录制MP4,同一个成员一次只允许一个MP4录制文件,在通话开始的时候才有实际数据
API原型
public static void StartRecord(string path, NIMVChatMP4RecordJsonEx recordInfo, NIMVChatMp4RecordOptHandler cb);
File:NIMVChatAPI.cs
参数说明
参数 | 类型 | 说明 |
---|---|---|
path | string | 无效参数 |
recordInfo | NIMVChatMP4RecordJsonEx | json扩展封装类,见NIMVChatMP4RecordJsonEx |
cb | NIMVChatMp4RecordOptHandler | 结果回调 |
示例
NIMVChatMp4RecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
{
};
VChatAPI.StartRecord("", json, cb);
特殊说明
MP4文件结束录制
API介绍
停止录制MP4
API原型
public static void StopRecord(NIMVChatMP4RecordJsonEx recordInfo, NIMVChatMp4RecordOptHandler cb);
File:NIMVChatAPI.cs
参数说明
参数 | 类型 | 说明 |
---|---|---|
recordInfo | recordInfo | json扩展封装类,见NIMVChatMP4RecordJsonEx |
cb | NIMVChatMp4RecordOptHandler | 结果回调 |
示例
NIMVChatMp4RecordOptHandler cb = (bool ret, int code, string file, Int64 time, string json_extension) =>
{
};
VChatAPI.StartRecord("", json, cb);