我正在尝试在WP7中打开页面时实现此流程:
播放故事板“眨眼”⇒播放声音⇒播放故事板“运动”
我将声音添加为MediaElement,您可以在代码中看到。我必须设置AutoPlay =“False”,否则当页面打开时声音会立即播放。
问题是,当眨眼故事板结束时,声音永远不会播放。我将MediaEnded触发器添加到MediaElement上,因为它相信它会引用MediaElement中指定的声音。但它没有任何作用。我尝试在PlaySoundAction的“Source”属性中再次指定声音,但它仍然没有播放声音。我认为MediaElement的“autoplay = false”是罪魁祸首,但我不能如上所述将其取消。
<MediaElement x:Name="mysound" HorizontalAlignment="Left" Height="0" Source="/mysound.mp3" Stretch="Fill" VerticalAlignment="Top" Width="0" Volume="1" AutoPlay="False">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MediaEnded">
<eim:ControlStoryboardAction Storyboard="{StaticResource movement}"/>
</i:EventTrigger>
<eim:StoryboardCompletedTrigger Storyboard="{StaticResource blink}">
<eim:PlaySoundAction Volume="1"/>
</eim:StoryboardCompletedTrigger>
</i:Interaction.Triggers>
</MediaElement>
答案 0 :(得分:1)
我的MediaElement也遇到了很多问题,因此更喜欢使用以下方法解决这个问题。
看看它是否有帮助。
答案 1 :(得分:0)
您的mediaEnded处理程序永远不会被触发,因为媒体永远不会被播放。
在“闪烁”故事板上处理Completed事件。有那个播放声音。然后让mediaEnded处理程序启动下一个stroryboard。
您可能会发现使用C#而不是xaml更容易连接。 (如果你愿意的话,你可以随时改变它。)