我想在Silverlight中为声波创建一些自定义的可视化效果。从Silverlight3开始,有了MediaElement类,它在播放声音/视频方面做得很好。
但是,为了可视化,我需要某种事件回调,其中包含有关当前播放的声音片段的一些信息。框架是否对实现这一目标提供了一些支持?
发布于 2009-12-09 07:17:47
我想要同样的东西,所以我创建了它。您可以在http://prefix.teddywino.com/post/SilverlightMediaKitLiveDemo.aspx上看到现场演示
库和演示源代码可以在http://salusemediakit.codeplex.com/上找到。演示显示了添加的功能,可以更改原始音频数据以创建效果。目前仅适用于MP3s,仍处于开发阶段
发布于 2009-12-08 00:09:21
遗憾的是,在Silverlight中这是不可能的,除非你自己创建自己的MediaStreamSource来解码音频(例如从MP3解码)。
你能逃脱作弊的惩罚吗?许多网络播放器显示了一个假的图形均衡器,只是在播放过程中有随机上下的条。我似乎记得MySpace和SoundClick曾经这样做过(可能现在仍然是这样)。
发布于 2009-12-08 02:02:35
如果您实现自定义MediaStreamSource,您可能会检查/分析由它生成的数据,但如果您尝试直接从自定义MediaStreamSource更新UI,则会立即遇到UI线程问题,反之亦然。
实现这一点的一种方法可能是实现一个自定义的MediaStreamSource,它可以写入(或复制?)额外的音频数据到线程安全的缓冲区,您的UI可以访问它。
https://stackoverflow.com/questions/1860932
复制相似问题