2011-03-05 32 views
2

我正在尝试为我的WP7制作文本阅读器。 我在阅读器中使用mediaElement。 在每次应用程序读取内容时,MediaPlayer都会停止,因为后来我发现它是如何设计的。 然后我试图尝试和欺骗系统,通过使用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。 我迷路了...

+0

只是澄清 - 你究竟想玩什么,从什么来源?为什么在同一个上下文中调用MediaElement实例和MediaPlayer? – 2011-03-05 20:44:16

+0

“使用读者”是指什么?当你做什么时涉及什么? – 2011-03-05 22:15:04

+0

@DennisDelimarsky我在我的应用程序中有一些媒体播放器,所以我有一些列表框是过滤器,我想读取选定的文件管理器(艺术家,专辑等)。 @MattLacey所以基本上使用阅读器发生在选定的项目发生变化时。我使用MediaPlayer和MediaElement,因为如果我不会暂停mediaPlayer,它将停止播放,我将失去播放歌曲的位置。并且因为我希望读者玩无缝,所以我正在使用mediaElement。 – 2011-03-07 00:09:13

回答

2

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

如果你仔细地混合&匹配这两个例子,你可以实现你想要的,我只是自己试了一下。只需将示例1中需要的所有内容复制到示例2中,它就可以很好地工作:背景音乐播放,鸟儿们愉快地啁啾而不会彼此伤害。

让我知道你是否有问题。

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

Eyal