/// <summary> /// Initializes Oxford API. Builds existing whitelist or creates one if one does not exist. /// </summary> public async static Task <bool> InitializeOxford(SpeechHelper speechHelper) { // Attempts to open whitelist folder, or creates one StorageFolder whitelistFolder = await KnownFolders.PicturesLibrary.CreateFolderAsync(GeneralConstants.WhiteListFolderName, CreationCollisionOption.OpenIfExists); // Creates a new instance of the Oxford API Controller FaceApiRecognizer sdkController = FaceApiRecognizer.Instance; sdkController.speechHelper = speechHelper; // Attempts to open whitelist ID file, or creates one StorageFile WhiteListIdFile = await whitelistFolder.CreateFileAsync("WhiteListId.txt", CreationCollisionOption.OpenIfExists); // Reads whitelist file and stores value string savedWhitelistId = await FileIO.ReadTextAsync(WhiteListIdFile); // If the ID has not been created, creates a whitelist ID if (savedWhitelistId == "") { string id = Guid.NewGuid().ToString(); await FileIO.WriteTextAsync(WhiteListIdFile, id); savedWhitelistId = id; } // Builds whitelist from exisiting whitelist folder await sdkController.CreateWhitelistFromFolderAsync(savedWhitelistId, whitelistFolder, null); SettingsHelper.Instance.WorkspaceKey = savedWhitelistId; ImageAnalyzer.PeopleGroupsUserDataFilter = SettingsHelper.Instance.WorkspaceKey; FaceListManager.FaceListsUserDataFilter = SettingsHelper.Instance.WorkspaceKey; // Return true to indicate that Oxford was initialized successfully return(true); }
/// <summary> /// Triggered when media element used to play synthesized speech messages is loaded. /// Initializes SpeechHelper and greets user. /// </summary> private async void speechMediaElement_Loaded(object sender, RoutedEventArgs e) { if (speech == null) { speech = new SpeechHelper(speechMediaElement); await speech.Read(SpeechContants.InitialGreetingMessage); } else { // Prevents media element from re-greeting visitor speechMediaElement.AutoPlay = false; } }