1

我已将 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 的源中,然后才能重置位置。如果是这种情况,是否有人对我如何提高效率有任何建议?

在此先感谢您的任何建议。

4

1 回答 1

0

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

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

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

于 2012-10-31T23:30:13.657 回答