c# - Silverlight中用于Wave文件的Sound Visualizer

标签 c# silverlight windows-phone-7 audio

我的程序当前在wp7中使用MediaElement播放.wav文件。

我想为此编写一个非常简单的可视化工具(例如,一个数字,指示波的幅度)。但是我不知道如何从MediaElement获取原始媒体信息。

我进行了搜索,到目前为止,最终还是获得了Salus MediaKit(仅适用于MP3),节拍检测(涉及复杂的算法)和WaveControl,后者无法实时显示。

会更精通音频处理的人能将我引向我可以采用的方法吗?

最佳答案

不要以为可以从media元素获取原始音频数据。需要提前访问音频文件以进行计算,然后使用MediaStreamSource类的GetSampleAsync将音频样本发送到MediaElement。可以在MSDN here上找到文档。

认为您仍然可以使用Saluse Media Kit作为引用,因为它首先将mp3文件解码为原始音频数据,然后对该文件进行操作。可以在RawMP3MediaStreamSource类中查找以引用此内容。 WAV文件是未压缩的,因此,在去除任何标题信息之后,您应该能够从中计算出振幅。一件好事是uncompressed audio (PCM)的存储方式。

关于c# - Silverlight中用于Wave文件的Sound Visualizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8815062/

相关文章:

c# - HTTP 错误 401.1 - 未经本地 IIS 授权

c# - 如果使用 CreateResponse 扩展方法返回 Azure Function HttpResponseMessage,则执行测试时出错

c# - 标记在 XML 命名空间中不存在

c# - HTTPRequest 后的后台代理 notifyComplete()

c# - 在 Windows Phone 后台播放音频

c# - 网格控制

C# - 结构序列化

c# - WPF 中来自 Silverlight 的 DoubleTap 事件

c# - 连接 SoundEffects (wav) 并保存到隔离存储

c# - 从 Azure 使用 C# 获取 XML 文件作为响应