生成WAV的Silverlight MediaElement位置(性能)

生成WAV的Silverlight MediaElement位置(性能),silverlight,slider,mediaelement,wavmss,Silverlight,Slider,Mediaelement,Wavmss,我已将MediaElement控件绑定到滑块控件。 我从SQL Server数据库中的二进制字段获取流。 我担心由于以下原因可能会出现一些性能问题: 1.我正在存储从web服务检索的字节数组 2.每当我对MediaElement执行任何操作(即重置位置、停止播放、恢复播放)时,我都必须重置MediaElement的源 我用来设置位置的代码如下: private void ResetPlayerWithPosition(double milliseconds = 0) { // _wmss

我已将MediaElement控件绑定到滑块控件。
我从SQL Server数据库中的二进制字段获取流。
我担心由于以下原因可能会出现一些性能问题:
1.我正在存储从web服务检索的字节数组
2.每当我对MediaElement执行任何操作(即重置位置、停止播放、恢复播放)时,我都必须重置MediaElement的源
我用来设置位置的代码如下:

private void ResetPlayerWithPosition(double milliseconds = 0)
{
    // _wmss is a WaveMediaStreamSource from WAVMss.dll
    // audio is of type byte[]
    this._wmss = new WaveMediaStreamSource(new MemoryStream(this.audio));
    this.playbackController.SetSource(this._wmss);
    this.playbackController.MediaOpened += (s, e) =>
    {
        this.playbackController.Position = TimeSpan.FromMilliseconds(milliseconds);
    };
}
我担心的是,如果文件变大,就会导致性能下降,因为代码必须等待文件加载到MediaElement的源代码中,然后再重置位置。如果是这样的话,有人对我如何提高效率有什么建议吗


提前感谢您的建议。

我第一次发布这篇文章已经1年10个月14天了,甚至没有任何评论或后续问题。在这段时间里,iOS取得了许多进步,Android发布了一些新的风格,HTML5和jQuery已经优雅地成熟,微软也放弃了Silverlight,转而使用Metro

我已经放弃了这个解决方案,因为支持是稀疏的,并且正在走向不存在。作为对Silverlight的交换,我选择了HTML5+jQuery解决方案。这使我能够在更短的开发时间内开发一个轻量级、Web方法驱动、支持AJAX、独立于浏览器+设备+服务器的跨平台客户端,并具有更大的灵活性、可持续性和可维护性

Silverlight:另一种高度创新但效率极低的技术被搁置。撕裂