将音频输入转换为时间并使用 c# 显示它

Posted

技术标签:

【中文标题】将音频输入转换为时间并使用 c# 显示它【英文标题】:Convert audio input to time and display it using c# 【发布时间】:2017-12-11 17:35:48 【问题描述】:

我需要使用 c# 将声音转换为时间,我需要从音频输入中提取 SMPTE 时间码并以 hh:mm:ss 格式显示时间。 如果有人过去做过那种任务并且可以帮助我,那我不知道如何开始。

声音是连接到电脑声卡的其他设备产生的,我需要吸收它并将其转换为时间。

这里是音频输入示例:https://www.youtube.com/watch?v=zjH0RFV206M

【问题讨论】:

我会从这里开始:github.com/x42/libltc 【参考方案1】:

您可以使用来自System.Windows.Media 库的MeidaPlayer。 打开您的声音文件并播放:

MediaPlayer.Open(new Uri(@path));
MediaPlayer.Play();

获取文件的时间跨度:

MediaPlayer.NaturalDuration

并通过以下方式检索当前位置:

MediaPlayer.Position

欲了解更多信息,请参阅MSDN。

【讨论】:

如果您能给我更详细的说明如何从声音输入中实际显示时间,那就太好了! 您知道如何创建 TextBox 或 Label 并更改其值吗? 我不知道如何取音,也不懂每个音指的时间... 声音是从其他设备产生的,我需要吸收它并将其转换为时间 如果其他设备确实将声音转换为文件,您可以通过它的路径加载该文件,这超出了我的知识。对不起

以上是关于将音频输入转换为时间并使用 c# 显示它的主要内容,如果未能解决你的问题,请参考以下文章

C#通用平台音频合并或输入视频

使用 C# 中的 NAudio 将 M4A 音频文件转换为 MP3 的问题/错误

C# 中的音频 API

c# Naudio 音频电平捕获和显示,仅在打开录音属性时有效

是否可以在 C# 中使用 NAudio 创建新的音频输入?

Xamarin C# Android - 将 .3gpp 音频转换为字节并发送到 parseObject