Zhiyu 发表于 2016-4-7 09:34:44

AnyChat 音频录制文件命名

您好,我看到论坛里说客户端调用录制方法(BRAC_StreamRecordCtrlEx)时,通过参数(lpUserStr)传入文件名,类似:{"filename":"abc.mp4"},为一个json字符串,关键字为:filename;能够对生成的文件按照希望的名字命名。
我的代码如下:JObject obj = JObject.Parse("{\"filename\":\"abc.wmv\"}");录制时:int ret = AnyChatCoreSDK.StreamRecordCtrlEx(-1, true, AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO, 0, (string)obj["filename"]);结束时:int ret = AnyChatCoreSDK.StreamRecordCtrlEx(-1, false, AnyChatCoreSDK.ANYCHAT_RECORD_FLAGS_AUDIO, 0, (string)obj["filename"]);但是文件名还是没有改变,这是什么原因呢?求解答,谢谢。


佰锐科技-江裕 发表于 2016-4-7 09:48:55

您好,通过StreamRecordCtrlEx来传输唯一标识ID(用最后的lpUserStr参数来传),在服务器端录像完成回调事件中直接对录像文件进行改名即可,lpFileName为录像文件名(自动生成),lpUserStr为客户端传递的ID,调用操作系统的文件改名函数API接口对文件进行改名。

Zhiyu 发表于 2016-4-7 10:40:21

佰锐科技-江裕 发表于 2016-4-7 09:48
您好,通过StreamRecordCtrlEx来传输唯一标识ID(用最后的lpUserStr参数来传),在服务器端录像完成回调事 ...

你好,我使用的是c#的demo,在demo中我找到了音视频录制回调函数,代码如下:/// <summary>
      /// 音视频录制回调函数
      /// </summary>
      /// <param name="userId"></param>
      /// <param name="filePath"></param>
      /// <param name="param"></param>
      /// <param name="recordType"></param>
      /// <param name="userValue"></param>
      private static void SetRecordCallBack_CallBack(int userId, string filePath, int param, bool recordType, int userValue)
      {
            if (SetRecordReceivedCallBack != null)
                SetRecordReceivedCallBack(userId, filePath, param, recordType, userValue);
      }里面的这几个参数应该如何理解呢?对于c#的demo文件又应该如何重命名呢?

Zhiyu 发表于 2016-4-7 10:41:06

佰锐科技-江裕 发表于 2016-4-7 09:48
您好,通过StreamRecordCtrlEx来传输唯一标识ID(用最后的lpUserStr参数来传),在服务器端录像完成回调事 ...

你好,我使用的是c#的demo,在demo中我找到了音视频录制回调函数,代码如下:/// <summary>
      /// 音视频录制回调函数
      /// </summary>
      /// <param name="userId"></param>
      /// <param name="filePath"></param>
      /// <param name="param"></param>
      /// <param name="recordType"></param>
      /// <param name="userValue"></param>
      private static void SetRecordCallBack_CallBack(int userId, string filePath, int param, bool recordType, int userValue)
      {
            if (SetRecordReceivedCallBack != null)
                SetRecordReceivedCallBack(userId, filePath, param, recordType, userValue);
      }里面的这几个参数应该如何理解呢?对于c#的demo文件又应该如何重命名呢?

佰锐科技-江裕 发表于 2016-4-7 11:02:28

Zhiyu 发表于 2016-4-7 10:41
你好,我使用的是c#的demo,在demo中我找到了音视频录制回调函数,代码如下:里面的这几个参数应该如何理 ...

您好,修改文件名主要是通过移动方法(Move(string sourceFileName, string destFileName))实现,该方法有两个参数,分别是:sourceFileName(源文件名)、destFileName(目标文件名),即把“待修改的文件名”移到“目标文件名(修改后的文件名)”。

佰锐科技-邵光清 发表于 2016-5-14 01:27:36

您好,参数有误,请参考:拍照、录像支持自定义文件名
页: [1]
查看完整版本: AnyChat 音频录制文件命名