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

时间:2011-01-17 20:03:48

标签: silverlight slider mediaelement wavmss

我已将MediaElement控件绑定到Slider控件 我从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 个答案:

答案 0 :(得分:0)

自从我第一次发布此消息以来,已经过了1年10个月,而且甚至没有评论或后续问题。在这段时间里,iOS已经取得了很多进步,Android已经发布了一些新的口味,HTML5和jQuery已经成熟优雅,微软已经放弃了Silverlight for Metro。

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

Silverlight:另一项高度创新但效率极低的技术已经奠定。 RIP。