【问题标题】:WP7 gapless music from MediaPlayer when using mediaElement使用 mediaElement 时来自 MediaPlayer 的 WP7 无缝音乐
【发布时间】:2011-03-05 20:31:31
【问题描述】:

我正在尝试为我的 WP7 制作文本阅读器。 我在阅读器中使用了 mediaElement。 起初,每次应用程序读取某些内容时,MediaPlayer 都会停止,后来我发现它就是这样设计的。 然后我尝试使用

来欺骗系统
mediaElement1.Stop();
mediaElement1.SetSource(isolatedStorageFileStream);
FrameworkDispatcher.Update();
MediaPlayer.Pause();
mediaElement1.Play();
if (mpState != MediaState.Stopped)
{ MediaPlayer.Resume(); }

现在是奇怪的部分, 当我使用阅读器一次时,它会按我的意愿读取并且音乐似乎没有任何停顿地运行,但是当我第二次使用阅读器时,MediaPlayer 停止播放。 当我添加了一些断点时,我注意到在第一次读取之后,MediaPlayer.state 被暂停,但它仍在播放。 我的应用程序中有某种媒体播放器,所以我有一些作为过滤器的列表框,我想读取到选定的文件管理器(艺术家、专辑等)。所以基本上在更改所选项目时会使用阅读器。我同时使用 MediaPlayer 和 MediaElement,因为如果我不暂停 mediaPlayer,它将停止,并且我将失去播放歌曲的位置。并且因为我希望读者能够无缝播放,所以我使用了 mediaElement。 我迷路了……

【问题讨论】:

  • 只是为了澄清一下 - 你到底想玩什么,从什么来源?为什么要在同一个上下文中同时调用 MediaElement 实例和 MediaPlayer?
  • “使用阅读器”是什么意思?当你这样做时涉及什么?
  • @DennisDelimarsky 我的应用程序中有某种媒体播放器,所以我有一些作为过滤器的列表框,我想读取到选定的文件管理器(艺术家、专辑等)。 @MattLacey 所以基本上使用阅读器是在更改所选项目时发生的。我同时使用 MediaPlayer 和 MediaElement,因为如果我不暂停 mediaPlayer,它将停止,并且我将失去播放歌曲的位置。因为我希望读者能够无缝播放,所以我使用了 mediaElement。

标签: silverlight windows-phone-7


【解决方案1】:

尝试查看这个(音乐 + 视频中心示例)http://go.microsoft.com/fwlink/?LinkID=203588,我认为您已经在使用它(使用手机上的媒体库),但尝试将它与这个(Silverlight 声音示例)http://go.microsoft.com/fwlink/?LinkID=207868 结合使用,它显示如何使用 XNA 并行播放声音。

如果你仔细混合搭配这两个例子,你可以达到你想要的,我自己也试过了。只需将示例 1 中需要的所有内容复制到示例 2 中,它就可以正常工作:背景音乐播放,鸟儿愉快地鸣叫而不会互相伤害。

如果您有任何问题,请告诉我。

顺便说一句 - 在这里:http://msdn.microsoft.com/en-us/library/ff431744(v=vs.92).aspx 你有许多工作示例,用于许多不同的事情。我从这个链接中获取了上面的两个例子。

艾尔

【讨论】:

    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多