小编Ser*_*nov的帖子

如何通过UWP方法播放系统声音

您好,在这里完全感到困惑!我不知道如何使我的方法在出现错误时播放系统声音(哔声)。system.media类不可用。所以我完全迷路了!

 private void SubmitApplicant_Click(object sender, RoutedEventArgs e)
    {

        if (!string.IsNullOrEmpty(attendenceManagment.Applicant))
            attendenceManagment.CheckApplicant();
        else  
        //play a beep
        ;
    }
Run Code Online (Sandbox Code Playgroud)

工作代码:

XAML标签

 <MediaElement x:Name="myMediaElement"/>
Run Code Online (Sandbox Code Playgroud)

后面的代码

   private void Button_Click(object sender, RoutedEventArgs e)
   {
        if (!string.IsNullOrEmpty(attendenceManagment.Applicant))
            attendenceManagment.CheckApplicant();
        else
        {
            myMediaElement.Source = new Uri("ms-appx:///Assets/Windows   Error.wav");
            myMediaElement.Play();
        }
    }
Run Code Online (Sandbox Code Playgroud)

audio uwp

5
推荐指数
1
解决办法
703
查看次数

StreamWriter :(写入+刷新)异步似乎比同步变体慢得多

我试图在我的班级中找到一个IO瓶颈,并且令人惊讶地注意到,当将1000000条消息写入文件时,sw.Write("m"); sw.Flush()可以快20000 await sw.WriteAsync("m"); Await sw.FlushAsync();.有没有人知道为什么?我的赌注是StreamWriter构造函数采用String不参数化流的async用法.

下面的代码可以从C#interactive启动.是的,它不是测量速度的最佳位置,但无论如何它都会显示出现在的问题:

var sr = new StreamWriter("G:\\file.file");
var N = 1000;
var sw = new Stopwatch();
sw.Start();

for (var i = 0; i < N; ++i)
{
    sr.Write("m"); // or await sr.WriteAsync("m");
    sr.Flush(); // or await sr.FlushAsync("m");
}

sw.Stop();
Console.WriteLine("Completed " + N
    + " iterations in " + sw.ElapsedMilliseconds + " milliseconds.");

sr.Close();
Run Code Online (Sandbox Code Playgroud)

从C#Interactive在家用PC上启动输出

在1毫秒内完成1000次迭代.

用于同步代码和

在43383毫秒内完成1000次迭代.

用于异步.

更新:我也注意到程序内部速度变慢了FlushAsync.WriteAsync几乎与同步版本的速度相同.

欢迎所有评论. …

c# streamwriter async-await .net-4.6.2

2
推荐指数
1
解决办法
1992
查看次数

标签 统计

.net-4.6.2 ×1

async-await ×1

audio ×1

c# ×1

streamwriter ×1

uwp ×1