草庐IT

mp_factorial

全部标签

c# - 将参数传递到 Task.Factory.StartNew

给定以下代码:stringinjectedString="ReadstringoutofHttpContext";Task.Factory.StartNew(()=>{MyClassmyClass=newMyClass();myClass.Method(injectedString);}这是将字符串传递到任务/线程的最佳方式吗?我对这种方法的担忧是:垃圾收集器会知道字符串什么时候失效吗?上下文并正确清理它?有没有更好的方法将依赖项注入(inject)任务,从而打破主线程中对象的链接?这是在Asp.Net网络服务中,如果它很重要并且是一个即发即忘类型的线程,我不会等待任何类型的响应。我的

c# - 上传任何视频并在 .net 中在线转换为 .mp4

我有一个奇怪的要求。用户可以上传任何格式(或有限格式)的视频。我们必须存储它们并将它们转换为.mp4格式,以便我们可以在我们的网站上播放。同样的要求也适用于音频文件。我已经用谷歌搜索了,但我无法得到任何正确的想法。任何帮助或建议....??提前致谢 最佳答案 您可以使用FFMpegcommandlineutility将几乎任何视频/音频用户文件转换为mp4/mp3.从.NET可以使用包装器库调用它,例如VideoConverterfor.NET(这个很好,因为所有内容都打包到一个DLL中):(newNReco.VideoConver

c# - 如何检测 mp3 文件何时播放完毕

我的c#windows窗体可以播放mp3文件。我使用这段代码做到了这一点WMPLib.WindowsMediaPlayerwplayer;wplayer=newWMPLib.WindowsMediaPlayer();wplayer.URL="c:/Standup.mp3";wplayer.controls.play();这非常有效,但我想知道文件何时播放完毕,以便我可以重新启动它。请问我该怎么做? 最佳答案 您可以使用PlayStateChangedevent来做到这一点.您可以像这样将它添加到您的MediaPlayer。WMPLi

c# - NAudio 拆分 mp3 文件

我对音频或mp3的东西很陌生,一直在寻找一种方法来具有在C#、asp.net中拆分mp3文件的功能。在没有太多帮助的情况下用谷歌搜索了3天,我希望这里有人能给我指明正确的方向。我可以使用NAudio来完成这个吗?有没有示例代码?提前致谢。 最佳答案 我在C#中拆分mp3文件的最终解决方案是使用NAudio。这是一个示例脚本,希望它对社区中的某个人有所帮助:stringstrMP3Folder="";stringstrMP3SourceFilename="";stringstrMP3OutputFilename="";using(Mp

c# - 带有未捕获异常的 Task.Factory.StartNew 会杀死 w3wp?

我刚刚将我网站的一些代码从使用QueueUserWorkItem转换为Task.Factory.StartNew我有一些错误的代码引发了异常并最终关闭了w3wp。在WindowsServer2008R2、x64上运行IIS7.5Task.Factory.StartNew(()=>{MethodThatThrowsException();}Application:w3wp.exeFrameworkVersion:v4.0.30319Description:Theprocesswasterminatedduetoanunhandledexception.ExceptionInfo:Syst

C# 将文本转语音保存到MP3文件

我想知道是否有办法将文本转语音数据保存为mp3或Wav文件格式以便稍后播放?SpeechSynthesizerreader=newSpeechSynthesizer();reader.Rate=(int)-2;reader.Speak("HellothisisanexampleexpressionfromthecomputersTTSengineinC-Sharp);我正在尝试将其保存在外部,以便稍后播放。做这个的最好方式是什么? 最佳答案 有multipleoptions例如保存到现有流。如果你想创建一个新的WAV文件,你可以使用

c# - 使用 Task.Factory.StartNew().ContinueWith() 的单元测试代码

所以我有一些代码Task.Factory.StartNew(()=>this.listener.Start()).ContinueWith((task)=>{if(task.IsCompleted){this.status=WorkerStatus.Started;this.RaiseStatusChanged();this.LogInformationMessage("WorkerStarted.");}});当我测试时,我正在模拟所有依赖对象(namleythis.listener.Start())。问题是测试在调用ContinueWith之前完成执行。当我调试时,由于我单步执行代

c# - Task.Run 和 Task.Factory.StartNew 之间不同的异常处理

我在使用Task.Factory.StartNew并trycatch抛出的exception时遇到问题。在我的应用程序中,我有一个长时间运行的任务,我想将其封装在Task.Factory.StartNew(..,TaskCreationOptions.LongRunning);但是,当我使用Task.Factory.StartNew时,异常没有被捕获。然而,当我使用Task.Run时,它的工作方式与我预期的一样,我认为它只是Task.Factory.StartNew的包装器(根据例如thisMSDNarticle).此处提供了一个工作示例,不同之处在于使用Task.Run时将异常写入控

c# - 如何在 C# 中播放 mp3 文件?

我正在尝试使用本指南在C#中播放MP3文件:http://www.crowsprogramming.com/archives/58我正在执行列出的所有操作,但我仍然无法在我的C#程序中播放任何音乐。谁能告诉我我做错了什么?staticvoidMain(string[]args){WMPLib.WindowsMediaPlayera=newWMPLib.WindowsMediaPlayer();a.URL="song.mp3";a.controls.play();}音乐文件“Song”在bin文件夹中。 最佳答案 我没有使用Windo

c# - 如何在 C# 中获取 *.mp3 文件的属性

我正在编写一个带有歌曲库的小型媒体播放器。现在我需要获取mp3、wma文件的属性,例如艺术家姓名或歌曲持续时间。获取此信息的最佳方式是什么? 最佳答案 您可以检查mp3的ID3标签。taglib-sharp图书馆非常适合这样做。提供源代码(here)。示例代码:TagLib.FiletagFile=TagLib.File.Create(pathtofile);stringartist=tagFile.Tag.FirstAlbumArtist;stringalbum=tagFile.Tag.Album;stringtitle=tagF