我的程序当前在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/