/// <summary> /// Update the recorded WAV file for a greeting stream for a specific language. Each greeting can have multiple language versions recorded /// so the language along with the greeting itself need to be identified for updating. /// You have the option of having the WAV file converted into raw PCM prior to uploading to prevent codec compatibility issues with the /// recording. /// </summary> /// <param name="pConnectionServer"> /// The server the greeting being edited is homed on. /// </param> /// <param name="pPostGreetingRecordingObjectId"> /// The post greeting recording that owns the greeting being edited. /// </param> /// <param name="pLanguageCode"> /// Language code to use (i.e. US English = 1033). The LanguageCodes enum deinfed in the ConnectionServer class can be helpfull here. /// </param> /// <param name="pSourceLocalFilePath"> /// The full path to a WAV file to upload as the greeting stream. /// </param> /// <param name="pConvertToPcmFirst"> /// Optional parameter to convert the WAV file into PCM first. Most codecs are handled by this conversion including G729a, MP3, GSM 610 etc... /// however if the file conversion fails then the upload itself is not attempted and failure is returned. /// If the file is already in PCM the conversion operation is just a copy and the upload proceeds as normal. /// </param> /// <returns> /// Instance of the WebCallResults class containing details of the items sent and recieved from the CUPI interface. /// </returns> public static WebCallResult SetGreetingWavFile(ConnectionServerRest pConnectionServer, string pPostGreetingRecordingObjectId, int pLanguageCode, string pSourceLocalFilePath, bool pConvertToPcmFirst = false) { return(PostGreetingRecording.SetPostGreetingRecordingWavFile(pConnectionServer, pSourceLocalFilePath, pPostGreetingRecordingObjectId, pLanguageCode, pConvertToPcmFirst)); }
/// <summary> /// returns a single PostGreetingRecording object from an ObjectId string or display name passed in. /// </summary> /// <param name="pConnectionServer"> /// Connection server that the greeting is homed on. /// </param> /// <param name="pObjectId"> /// The ObjectId of the post greeting recording to load /// </param> /// <param name="pPostGreetingRecording"> /// The out param that the filled out instance of the PostGreetingRecording class is returned on. /// </param> /// <param name="pDisplayName"> /// Optional display name to search for recording on. If both the ObjectId and display name are passed, the objectID is used. /// The display name search is not case sensitive. /// </param> /// <returns> /// Instance of the WebCallResults class containing details of the items sent and recieved from the CUPI interface. /// </returns> public static WebCallResult GetPostGreetingRecording(out PostGreetingRecording pPostGreetingRecording, ConnectionServerRest pConnectionServer, string pObjectId = "", string pDisplayName = "") { WebCallResult res = new WebCallResult(); res.Success = false; pPostGreetingRecording = null; if (pConnectionServer == null) { res.ErrorText = "Null Connection server object passed to GetPostGreetingRecording"; return(res); } //you need an objectID and/or a display name - both being blank is not acceptable if ((string.IsNullOrEmpty(pObjectId)) & (string.IsNullOrEmpty(pDisplayName))) { res.ErrorText = "Empty objectId and display name passed to GetPostGreetingRecording"; return(res); } try { pPostGreetingRecording = new PostGreetingRecording(pConnectionServer, pObjectId, pDisplayName); res.Success = true; } catch (UnityConnectionRestException ex) { return(ex.WebCallResult); } catch (Exception ex) { res.ErrorText = "Failed to fetch greeting in GetPostGreetingRecording:" + ex.Message; } return(res); }
/// <summary> /// Create a new post greeting recording in the Connection directory /// </summary> /// <param name="pConnectionServer"> /// Connection server being edited /// </param> /// <param name="pDisplayName"> /// Name of the new post greeting recording - should be unique. /// </param> /// <param name="pPostGreetingRecording"> /// Instance of newly created post greeting recording is returned on this out parameter /// </param> /// <returns> /// Instance of the WebCallResult class. /// </returns> public static WebCallResult AddPostGreetingRecording(ConnectionServerRest pConnectionServer, string pDisplayName, out PostGreetingRecording pPostGreetingRecording) { pPostGreetingRecording = null; WebCallResult res = AddPostGreetingRecording(pConnectionServer, pDisplayName); if (res.Success) { //fetch the instance of the post greeting recording just created. try { pPostGreetingRecording = new PostGreetingRecording(pConnectionServer, res.ReturnedObjectId); } catch (Exception) { res.Success = false; res.ErrorText = "Could not find newly created post greeting recording by objectId:" + res; } } return(res); }