本文整理汇总了C#中IAudioService.PlaySound方法的典型用法代码示例。如果您正苦于以下问题:C# IAudioService.PlaySound方法的具体用法?C# IAudioService.PlaySound怎么用?C# IAudioService.PlaySound使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAudioService
的用法示例。
在下文中一共展示了IAudioService.PlaySound方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SoundsViewModel
public SoundsViewModel(IAudioService audioService)
{
this.audioService = audioService;
InfoSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(InfoSoundFile, InfoSoundVolume));
KeySelectionSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(KeySelectionSoundFile, KeySelectionSoundVolume));
ErrorSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(ErrorSoundFile, ErrorSoundVolume));
MultiKeySelectionCaptureStartSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MultiKeySelectionCaptureStartSoundFile, MultiKeySelectionCaptureStartSoundVolume));
MultiKeySelectionCaptureEndSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MultiKeySelectionCaptureEndSoundFile, MultiKeySelectionCaptureEndSoundVolume));
MouseClickSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MouseClickSoundFile, MouseClickSoundVolume));
MouseDownSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MouseDownSoundFile, MouseDownSoundVolume));
MouseUpSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MouseUpSoundFile, MouseUpSoundVolume));
MouseDoubleClickSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MouseDoubleClickSoundFile, MouseDoubleClickSoundVolume));
MouseScrollSoundPlayCommand = new DelegateCommand(() => audioService.PlaySound(MouseScrollSoundFile, MouseScrollSoundVolume));
Load();
}
示例2: ShowSplashScreen
private static async Task<bool> ShowSplashScreen(IInputService inputService, IAudioService audioService, MainViewModel mainViewModel)
{
var taskCompletionSource = new TaskCompletionSource<bool>(); //Used to make this method awaitable on the InteractionRequest callback
if (Settings.Default.ShowSplashScreen)
{
Log.Info("Showing splash screen.");
var message = new StringBuilder();
message.AppendLine(string.Format(OptiKey.Properties.Resources.VERSION_DESCRIPTION, DiagnosticInfo.AssemblyVersion));
message.AppendLine(string.Format(OptiKey.Properties.Resources.KEYBOARD_AND_DICTIONARY_LANGUAGE_DESCRIPTION, Settings.Default.KeyboardAndDictionaryLanguage.ToDescription()));
message.AppendLine(string.Format(OptiKey.Properties.Resources.UI_LANGUAGE_DESCRIPTION, Settings.Default.UiLanguage.ToDescription()));
message.AppendLine(string.Format(OptiKey.Properties.Resources.POINTING_SOURCE_DESCRIPTION, Settings.Default.PointsSource.ToDescription()));
var keySelectionSb = new StringBuilder();
keySelectionSb.Append(Settings.Default.KeySelectionTriggerSource.ToDescription());
switch (Settings.Default.KeySelectionTriggerSource)
{
case TriggerSources.Fixations:
keySelectionSb.Append(string.Format(OptiKey.Properties.Resources.DURATION_FORMAT, Settings.Default.KeySelectionTriggerFixationDefaultCompleteTime.TotalMilliseconds));
break;
case TriggerSources.KeyboardKeyDownsUps:
keySelectionSb.Append(string.Format(" ({0})", Settings.Default.KeySelectionTriggerKeyboardKeyDownUpKey));
break;
case TriggerSources.MouseButtonDownUps:
keySelectionSb.Append(string.Format(" ({0})", Settings.Default.KeySelectionTriggerMouseDownUpButton));
break;
}
message.AppendLine(string.Format(OptiKey.Properties.Resources.KEY_SELECTION_TRIGGER_DESCRIPTION, keySelectionSb));
var pointSelectionSb = new StringBuilder();
pointSelectionSb.Append(Settings.Default.PointSelectionTriggerSource.ToDescription());
switch (Settings.Default.PointSelectionTriggerSource)
{
case TriggerSources.Fixations:
pointSelectionSb.Append(string.Format(OptiKey.Properties.Resources.DURATION_FORMAT, Settings.Default.PointSelectionTriggerFixationCompleteTime.TotalMilliseconds));
break;
case TriggerSources.KeyboardKeyDownsUps:
pointSelectionSb.Append(string.Format(" ({0})", Settings.Default.PointSelectionTriggerKeyboardKeyDownUpKey));
break;
case TriggerSources.MouseButtonDownUps:
pointSelectionSb.Append(string.Format(" ({0})", Settings.Default.PointSelectionTriggerMouseDownUpButton));
break;
}
message.AppendLine(string.Format(OptiKey.Properties.Resources.POINT_SELECTION_DESCRIPTION, pointSelectionSb));
message.AppendLine(OptiKey.Properties.Resources.MANAGEMENT_CONSOLE_DESCRIPTION);
message.AppendLine(OptiKey.Properties.Resources.WEBSITE_DESCRIPTION);
inputService.RequestSuspend();
audioService.PlaySound(Settings.Default.InfoSoundFile, Settings.Default.InfoSoundVolume);
mainViewModel.RaiseToastNotification(
OptiKey.Properties.Resources.OPTIKEY_DESCRIPTION,
message.ToString(),
NotificationTypes.Normal,
() =>
{
inputService.RequestResume();
taskCompletionSource.SetResult(true);
});
}
else
{
taskCompletionSource.SetResult(false);
}
return await taskCompletionSource.Task;
}
示例3: CheckForUpdates
private static async Task<bool> CheckForUpdates(IInputService inputService, IAudioService audioService, MainViewModel mainViewModel)
{
var taskCompletionSource = new TaskCompletionSource<bool>(); //Used to make this method awaitable on the InteractionRequest callback
if (Settings.Default.CheckForUpdates)
{
Log.InfoFormat("Checking GitHub for updates (repo owner:'{0}', repo name:'{1}').",
GitHubRepoOwner, GitHubRepoName);
new ObservableGitHubClient(new ProductHeaderValue("OptiKey")).Release
.GetAll(GitHubRepoOwner, GitHubRepoName)
.Where(release => !release.Prerelease)
.Take(1)
.ObserveOnDispatcher()
.Subscribe(release =>
{
var currentVersion = new Version(DiagnosticInfo.AssemblyVersion); //Convert from string
//Discard revision (4th number) as my GitHub releases are tagged with "vMAJOR.MINOR.PATCH"
currentVersion = new Version(currentVersion.Major, currentVersion.Minor, currentVersion.Build);
if (!string.IsNullOrEmpty(release.TagName))
{
var tagNameWithoutLetters =
new string(release.TagName.ToCharArray().Where(c => !char.IsLetter(c)).ToArray());
var latestAvailableVersion = new Version(tagNameWithoutLetters);
if (latestAvailableVersion > currentVersion)
{
Log.InfoFormat("An update is available. Current version is {0}. Latest version on GitHub repo is {1}",
currentVersion, latestAvailableVersion);
inputService.RequestSuspend();
audioService.PlaySound(Settings.Default.InfoSoundFile, Settings.Default.InfoSoundVolume);
mainViewModel.RaiseToastNotification(OptiKey.Properties.Resources.UPDATE_AVAILABLE,
string.Format(OptiKey.Properties.Resources.URL_DOWNLOAD_PROMPT, release.TagName),
NotificationTypes.Normal,
() =>
{
inputService.RequestResume();
taskCompletionSource.SetResult(true);
});
return;
}
}
Log.Info("No update found.");
}, exception => Log.WarnFormat("Error when checking for updates. Exception message:{0}", exception.Message));
}
else
{
taskCompletionSource.SetResult(false);
}
return await taskCompletionSource.Task;
}
示例4: ShowSplashScreen
private async Task<bool> ShowSplashScreen(IInputService inputService, IAudioService audioService, MainViewModel mainViewModel)
{
var taskCompletionSource = new TaskCompletionSource<bool>(); //Used to make this method awaitable on the InteractionRequest callback
if (Settings.Default.ShowSplashScreen)
{
Log.Debug("Showing splash screen.");
var message = new StringBuilder();
message.AppendLine(string.Format("Version: {0}", DiagnosticInfo.AssemblyVersion));
message.AppendLine(string.Format("Language: {0}", Settings.Default.Language.ToDescription()));
message.AppendLine(string.Format("Pointing: {0}", Settings.Default.PointsSource.ToDescription()));
var keySelectionSb = new StringBuilder();
keySelectionSb.Append(Settings.Default.KeySelectionTriggerSource.ToDescription());
switch (Settings.Default.KeySelectionTriggerSource)
{
case TriggerSources.Fixations:
keySelectionSb.Append(string.Format(" ({0:#,###}ms)", Settings.Default.KeySelectionTriggerFixationCompleteTime.TotalMilliseconds));
break;
case TriggerSources.KeyboardKeyDownsUps:
keySelectionSb.Append(string.Format(" ({0})", Settings.Default.KeySelectionTriggerKeyboardKeyDownUpKey));
break;
case TriggerSources.MouseButtonDownUps:
keySelectionSb.Append(string.Format(" ({0})", Settings.Default.KeySelectionTriggerMouseDownUpButton));
break;
}
message.AppendLine(string.Format("Key selection: {0}", keySelectionSb));
var pointSelectionSb = new StringBuilder();
pointSelectionSb.Append(Settings.Default.PointSelectionTriggerSource.ToDescription());
switch (Settings.Default.PointSelectionTriggerSource)
{
case TriggerSources.Fixations:
pointSelectionSb.Append(string.Format(" ({0:#,###}ms)", Settings.Default.PointSelectionTriggerFixationCompleteTime.TotalMilliseconds));
break;
case TriggerSources.KeyboardKeyDownsUps:
pointSelectionSb.Append(string.Format(" ({0})", Settings.Default.PointSelectionTriggerKeyboardKeyDownUpKey));
break;
case TriggerSources.MouseButtonDownUps:
pointSelectionSb.Append(string.Format(" ({0})", Settings.Default.PointSelectionTriggerMouseDownUpButton));
break;
}
message.AppendLine(string.Format("Point selection: {0}", pointSelectionSb));
message.AppendLine("Management console: ALT + M");
message.AppendLine("Website: www.optikey.org");
inputService.State = RunningStates.Paused;
audioService.PlaySound(Settings.Default.InfoSoundFile, Settings.Default.InfoSoundVolume);
mainViewModel.RaiseToastNotification(
"OptiKey : Type · Click · Speak",
message.ToString(),
NotificationTypes.Normal,
() =>
{
inputService.State = RunningStates.Running;
taskCompletionSource.SetResult(true);
});
}
else
{
taskCompletionSource.SetResult(false);
}
return await taskCompletionSource.Task;
}