|
ÒôÊÓÆµÂ¼ÖÆÊÇÒôÊÓÆµ½â¾ö·½°¸ÖÐ×îÖØÒªµÄ¹¦ÄÜÌØÐÔÖ®Ò»£¬ÌرðÊÇһЩÐÐÒµÓ¦ÓÃÖÐÒôÊÓÆµÂ¼ÖÆÊÇ×î»ù±¾µÄ¹¦ÄÜÐèÇó£¬AnyChat×÷Ϊҵ½çÒ»Á÷µÄ¿çƽ̨ÒôÊÓÆµ½â¾ö·½°¸£¬ÔÚÒôÊÓÆµÂ¼ÖÆ·½ÃæÒ²ÌṩÁ˷dz£ÍêÉÆµÄÕûÌå½â¾ö·½°¸£¬¸ÅÀ¨ÆðÀ´ÓÐÈçÏÂÌØµã£º
Ò»¡¢API½Ó¿Ú¶¨Òå
AnyChatÔÚ¿Í»§¶ËÌṩµÄÂ¼ÖÆAPI½Ó¿ÚÓë»Øµ÷ʼþΪ£º- // Óû§Òô¡¢ÊÓÆµÂ¼ÖÆ£¨À©Õ¹£©
- BRAC_API DWORD BRAC_StreamRecordCtrlEx(DWORD dwUserId, BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr);
- // ¼Ïñ¡¢¿ìÕÕÈÎÎñÍê³ÉÀ©Õ¹»Øµ÷º¯Êý¶¨Òå
- typedef void (CALLBACK * BRAC_RecordSnapShotEx_CallBack)(DWORD dwUserId, LPCTSTR lpFileName, DWORD dwElapse, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, LPVOID lpUserValue);
¸´ÖÆ´úÂë AnyChatÔÚ·þÎñÆ÷¶ËÌṩµÄÂ¼ÖÆAPI½Ó¿ÚÓë»Øµ÷ʼþΪ£º- // ÖÐÐĶ˼Ïñ¿ØÖÆ£¨À©Õ¹£©
- BRAS_API DWORD BRAS_StreamRecordCtrlEx(DWORD dwUserId, BOOL bStartRecord, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr=NULL, DWORD dwRecordServerId=-1);
- // ·þÎñÆ÷¼Ïñ»Øµ÷º¯Êý¶¨Ò壨À©Õ¹£©
- typedef void (CALLBACK * BRAS_OnServerRecordEx_CallBack)(DWORD dwUserId, LPCTSTR lpFileName, DWORD dwElapse, DWORD dwFlags, DWORD dwParam, LPCTSTR lpUserStr, DWORD dwRecordServerId, LPVOID lpUserValue);
¸´ÖÆ´úÂë ¶þ¡¢Â¼ÖÆAPIµ÷ÓÃ
APIµÚÒ»¸ö²ÎÊý±íÊ¾Â¼ÖÆ¶ÔÏó£¬Ö¸Â¼ÖÆÄ³Ò»¸öÓû§µÄÒôÊÓÆµ£¬¶ÔÓںϳÉÂ¼ÖÆ£¬Ö»ÐèҪͨ¹ýµÚÈý¸ö²ÎÊý£¨dwFlags£©¼ÓÈëÌØ¶¨µÄ±êÖ¾¼´¿ÉʵÏÖ¡£
¿ªÊ¼Â¼ÖÆÒÔ¼°Í£Ö¹Â¼Öƾùµ÷ÓÃͬһ¸öAPI½Ó¿Ú£¨Èç¿Í»§¶ËΪ£ºBRAC_StreamRecordCtrlEx£©£¬Í¨¹ýµÚ¶þ¸ö²ÎÊý£¨bStartRecord£©À´¿ØÖÆ£¬µ±bStartRecord=TRUE£¨1£©Ê±£¬±íʾ¿ªÊ¼Â¼ÖÆ£¬µ±bStartRecord=FALSE£¨0£©Ê±£¬±íÊ¾Í£Ö¹Â¼ÖÆ¡£
µ±µ÷ÓÃAPI¿ªÊ¼Â¼ÖÆÊ±£¬Ï൱ÓÚÏ´ïÁËÒ»¸öÂ¼ÖÆÈÎÎñ£¬AnyChatÄں˽«¿ªÊ¼Â¼ÖÆ£¬¿ÉÒÔÔÚ¿Í»§¶Ëµ÷ÓÃAPI£¨BRAC_QueryUserState£©À´²éÑ¯Â¼ÖÆ×´Ì¬£»Í¨¹ýµÚÈý¸ö²ÎÊý£¨dwFlags£©¿É¿ØÖÆÂ¼ÖÆÐÐΪ£ºÊÇÔÚ¿Í»§¶ËÂ¼ÖÆ£¬»¹ÊÇÔÚ·þÎñÆ÷Â¼ÖÆ£»ÊÇÂ¼ÖÆÒôƵ£¬»¹ÊÇÒôÊÓÆµÒ»Í¬Â¼ÖÆ£»ÊÇÂ¼ÖÆµ¥¸öÓû§£¬»¹ÊÇͨ»°Ë«·½ºÏ³ÉÂ¼ÖÆµÈ£¬¾ßÌåÓ¦Óÿɲο¼ºóÐøµÄ¡°Â¼Öƹ¦ÄÜʾÀý¡±²¿·Ö¡£
µ±µ÷ÓÃAPIÍ£Ö¹Â¼ÖÆÊ±£¬AnyChatÄں˻á½áÊøÂ¼ÖÆÈÎÎñ£¬Í¬Ê±´¥·¢ÉϲãÓ¦ÓõĻص÷ʼþ£¨Èç¿Í»§¶ËΪ£ºBRAC_RecordSnapShotEx_CallBack£©£¬Ôڻص÷ʼþÖУ¬½«Â¼ÖÆÎļþÃû£¨º¬Â·¾¶£©¡¢Â¼ÖÆÊ±³¤¡¢Óû§×Ô¶¨Òå²ÎÊýµÈÐÅÏ¢·µ»Ø¸øÉϲãÓ¦Óá£
AnyChatÄÚºËÌṩÁËÁ½¸ö×Ô¶¨Òå²ÎÊý£¬Ò»¸öÊÇÕûÐΣ¨dwParam£©£¬Ò»¸öÊÇ×Ö·û´®ÀàÐÍ£¨lpUserStr£©£¬ÔÚ¿ªÊ¼Â¼ÖÆ£¨»ò½áÊøÂ¼ÖÆ£©Ê±Í¨¹ýAPI½Ó¿Ú´«È룬Èç¹û¿ªÊ¼Â¼ÖÆ¡¢½áÊøÂ¼ÖÆ¾ùΪ´«È룬ÔòÒÔ½áÊøÂ¼ÖÆÊ±µÄֵΪ׼£¬ÔÚÂ¼ÖÆÍê³É»Øµ÷ʼþÖзµ»Ø¸øÉϲãÓ¦Óã¬Èç¿ÉÒÔͨ¹ý×Ö·û´®ÀàÐÍ×Ô¶¨Òå²ÎÊýÀ´´«ÊäÒ»¸öÉϲãÓ¦ÓõÄÒµÎñÁ÷Ë®ºÅ£¬Ôò¿ÉÒÔʵÏÖÔڻص÷ʼþÖн«Â¼ÖƵÄÎļþÃûÓëÒµÎñÁ÷Ë®ºÅ½øÐйØÁª£¬±£´æÔÚÊý¾Ý¿âÖеȹ¦ÄÜ¡£
Èý¡¢Â¼Öƹ¦ÄÜʾÀý
ÏÂÃæÒÔJavaScript½Å±¾ÎªÀý£¬Õë¶Ô³£ÓõÄÂ¼ÖÆ¹¦Äܸø³öʾÀý´úÂ룺
1¡¢¿Í»§¶Ë¶Ôµ¥¸öÓû§µÄÒôƵ¡¢ÊÓÆµ½øÐÐÂ¼ÖÆ£¬Â¼ÖÆÎªMP4¸ñʽ- BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, 0); // Â¼ÖÆÎªMP4¸ñʽ
- var dwFlags = ANYCHAT_RECORD_FLAGS_VIDEO + ANYCHAT_RECORD_FLAGS_AUDIO;
- BRAC_StreamRecordCtrlEx(userid, 1, dwFlags, 0, "Hello, world!");
¸´ÖÆ´úÂë 2¡¢¿Í»§¶Ë¶Ôµ¥¸öÓû§µÄÒôƵ½øÐÐÂ¼ÖÆ£¬Â¼ÖÆÎªMP3¸ñʽ- BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, 3); // Â¼ÖÆÎªMP3¸ñʽ
- var dwFlags = ANYCHAT_RECORD_FLAGS_AUDIO;
- BRAC_StreamRecordCtrlEx(userid, 1, dwFlags, 0, "Hello, world!");
¸´ÖÆ´úÂë 3¡¢¿Í»§¶Ë¶Ôͨ»°Ë«·½µÄÒôƵ¡¢ÊÓÆµ½øÐÐÂ¼ÖÆ£¬Â¼ÖÆÎªMP4¸ñʽ£¬»Öлģʽ£º- BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, 0); // Â¼ÖÆÎªMP4¸ñʽ
- var dwFlags = ANYCHAT_RECORD_FLAGS_VIDEO + ANYCHAT_RECORD_FLAGS_AUDIO + ANYCHAT_RECORD_FLAGS_MIXVIDEO + ANYCHAT_RECORD_FLAGS_MIXAUDIO;
- BRAC_StreamRecordCtrlEx(userid, 1, dwFlags, 0, "Hello, world!");
¸´ÖÆ´úÂë ËÄ¡¢ÆäËü
1¡¢¿Í»§¶Ë¿ÉÒÔͨ¹ýAPI£ºBRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, path)À´ÉèÖüÏñÎļþ±£´æÂ·¾¶£»
2¡¢¿Í»§¶Ë¿ÉÒÔͨ¹ýAPI£ºBRAC_SetSDKOption(BRAC_SO_RECORD_VIDEOBR, bitrate)À´ÉèÖÃÂ¼ÖÆÊÓÆµµÄÖÊÁ¿£¬µ÷½ÚÂ¼ÖÆÊÓÆµµÄÇåÎú¶È£»
3¡¢ÓйØÂ¼ÏñÎļþ¸ÄÃû£¬ÓÐÁ½ÖÖ·½Ê½À´ÊµÏÖ£º
·½Ê½Ò»£ºÂ¼ÖÆÍê³ÉÖ®ºó£¬AnyChat½«´¥·¢ÉϲãÓ¦ÓõÄÂ¼ÖÆÍê³É»Øµ÷ʼþ£¬Ôڻص÷ʼþÖзµ»ØÂ¼ÖÆÎļþÃû£¨º¬Â·¾¶£©£¬ÉϲãÓ¦ÓÿÉÒÔÔڻص÷ʼþÖе÷ÓòÙ×÷ϵͳÌṩµÄÎļþ¸ÄÃûº¯Êý£¨ÈçWindowsƽ̨Ϊ£ºMoveFileº¯Êý£©¶ÔÎļþ½øÐиÄÃû²Ù×÷£»
·½Ê½¶þ£ºÀûÓÃAnyChat×Ô¶¨Òå¼ÏñÎļþÃûµÄ¹¦ÄÜ£¬ÔÚ¿ªÊ¼Â¼ÖÆÊ±£¬Í¨¹ýlpUserStr²ÎÊý´«ÈëJson¸ñʽµÄ¼ÏñÎļþÃû£»
4¡¢ÓйØÂ¼ÖÆÍê³É»Øµ÷ʼþÖС°lpUserStr¡±µÄÖµ£¬Èç¹û½áÊøÂ¼ÖÆÊ±£¬µ÷ÓÃAPI£ºBRAC_StreamRecordCtrlExÓд«ÈëlpUserStrµÄÖµ£¬Ôò»Øµ÷ÒÔ½áÊøÂ¼ÖÆÊ±´«ÈëֵΪ׼£¬·ñÔòÒÔ¿ªÊ¼Â¼ÖÆÊ±´«ÈëֵΪ׼¡£
²Î¿¼£º
1¡¢ÓйØÖÐÐļÏñ·þÎñÆ÷²¿Êð¿É²Î¿¼£ºWindowsƽ̨ÖÐÐļÏñ·þÎñÆ÷²¿Êð¡¢Linuxƽ̨ÖÐÐļÏñ·þÎñÆ÷²¿Êð£»
2¡¢ÓйØÖÐÐļÏñ·þÎñÆ÷ÅäÖÃÏRecordRootURL¡¿µÄ˵Ã÷
3¡¢ÓйØÖÐÐļÏñ·þÎñÆ÷ÅäÖÃÏRecordCacheDir¡¿µÄ˵Ã÷
|
|