Пример #1
0
        /// <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;
     }
 }