c# - 检测资源中 .wav 文件的持续时间

标签 c#

我目前正在寻找问题的解决方案,因为我的音频文件 (.wav) 在我的解决方案的资源中。我需要检测它会播放多长时间。

如何计算资源中音频的时长?
有没有办法检测播放我的资源中的某个音频文件需要多长时间?

最佳答案

您可以使用 NAudio读取资源流并获取时长

using NAudio.Wave;
...
WaveFileReader reader = new WaveFileReader(MyProject.Resource.AudioResource);
TimeSpan span = reader.TotalTime;

您也可以按照 Matthew Watson 的建议,将长度保留为额外的字符串资源。

此外,this SO question有很多不同的方法来确定持续时间,但其中大部分用于文件,而不是用于从资源中获取的流。

关于c# - 检测资源中 .wav 文件的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25324987/

相关文章:

c# - 在多线程程序中没有读取正确的属性值

C#:路径格式如\\.\c:\或\\DOMAIN\c:\不支持

c# 将字符串转换为单个

c# - 从 C# 读取 gmail

c# - 在 C# 中更改 SQL Server 存储过程

c# - GTK# : What should the parameter of ListStore be ?

c# - 应用程序可以同时针对 3.5 和 4.5 .Net 版本吗?

c# - 为部分代码创建上下文

c# - 在关闭表格时开始新表格。 C#

c# - GetHashCode 和桶