void LocalizedSpeaker.Say(LocalizedPhrase phrase) { _logger.Method().Start(phrase.Text()); try { _mediaElement.Stop(); MediaPlaybackItem[] items = Enumerable.Range(0, Convert.ToInt32(phrase.TokensCount())) .Select(Convert.ToUInt32) .Select(phrase.Token) .Select(token => _voiceFileHelper.GetFileUri(token, phrase.Language(), _settingsRepository.GuideSpeakerSex)) .Where(uri => uri != null) .Select(MediaSource.CreateFromUri) .Select(src => new MediaPlaybackItem(src)) .ToArray(); var playList = new MediaPlaybackList(); items.ForEach(playList.Items.Add); _mediaElement.SetPlaybackSource(playList); _mediaElement.Play(); _logger.Method().End(); } catch (Exception exception) { _logger.Method().Exception(exception); } }
public static string GetPhrase(LocalizedPhrase lp) { switch (lp) { default: return("<...>"); case LocalizedPhrase.PointsSec: return("points/sec"); case LocalizedPhrase.StopDig: return("Stop digging"); case LocalizedPhrase.StopGather: return("Stop gathering"); case LocalizedPhrase.RequiredSurface: return("Required surface"); case LocalizedPhrase.ImmigrationEnabled: return("Immigration enabled"); case LocalizedPhrase.ImmigrationDisabled: return("Immigration disabled"); case LocalizedPhrase.TicketsLeft: return("Tickets left"); case LocalizedPhrase.ColonistsArrived: return("Colonists arrived"); case LocalizedPhrase.BirthrateMode: return("Spawnrate mode"); case LocalizedPhrase.ShuttlesAvailable: return("Shuttles available"); case LocalizedPhrase.CrewsAvailable: return("Crews available"); case LocalizedPhrase.TransmittersAvailable: return("Transmitters available"); case LocalizedPhrase.ImproveGears: return("Improve gears"); case LocalizedPhrase.NoActivity: return("No activity"); case LocalizedPhrase.CrewSlots: return("Crew slots"); case LocalizedPhrase.HireNewCrew: return("Hire new crew"); case LocalizedPhrase.ConstructShuttle: return("Construct shuttle"); case LocalizedPhrase.ShuttleRepaired: return("A shuttle has been repaired"); case LocalizedPhrase.ShuttleConstructed: return("New shuttle constructed"); case LocalizedPhrase.ObjectsLeft: return("Objects left"); case LocalizedPhrase.NoSavesFound: return("No saves found"); case LocalizedPhrase.CreateNewSave: return("Create new save"); case LocalizedPhrase.CameraZoom: return("Camera zoom"); case LocalizedPhrase.LODdistance: return("LOD sprite distance"); case LocalizedPhrase.GraphicQuality: return("Graphic quality"); case LocalizedPhrase.Ask_DestroyIntersectingBuildings: return("Destroy all intersecting buildings?"); } }
public double GetDuration(LocalizedPhrase phrase, Sex speakerSex) { return(Enumerable.Range(0, Convert.ToInt32(phrase.TokensCount())) .Select(Convert.ToUInt32) .Select(phrase.Token) .Select(token => GetTokenDuration(token, phrase.Language(), speakerSex)) .Sum() + 1.0); //add secod like in IOS }
double LocalizedSpeaker.Duration(LocalizedPhrase phrase) { return(_voiceFileHelper.GetDuration(phrase, _settingsRepository.GuideSpeakerSex)); }