代码之家  ›  专栏  ›  技术社区  ›  Andrew Russell

Silverlight背景音乐

  •  0
  • Andrew Russell  · 技术社区  · 15 年前

    我正在用Silverlight制作一个游戏,我想给它一些背景音乐。特别是我希望避免在初始下载(XAP)中包含MP3,这样用户就可以在音乐下载完成之前开始播放。

    如何:

    • 从给定的URL动态开始播放MP3文件
    • 开始下载MP3文件而不播放(即:预加载)

    (我假设所有这些都是可能的?)

    2 回复  |  直到 15 年前
        1
  •  1
  •   Andrew Russell    15 年前

    System.Windows.Controls.MediaElement 显然是要使用的控件。它需要添加到Silverlight可视化树中才能完全正确地工作。

    mediaElement.AutoPlay = false;
    mediaElement.Source = new Uri("/content/something.mp3", UriKind.Relative);
    

    (音乐最好添加到项目中,并设置为Build Action=None,Copy to Output Directory=Copy(如果更新)。这将把它放在XAP旁边。)

    这允许歌曲开始在后台加载而不播放。为了检查预加载完成后,钩子 mediaElement.DownloadProgressChanged 并检查 mediaElement.DownloadProgress == 1 MediaFailed 如果下载失败就会告诉你。

    无需等待下载完成即可开始播放歌曲。MediaElement将正确缓存 完全地 在浏览器缓存中下载的歌曲。

        2
  •  0
  •   AlexEzh    15 年前
    推荐文章