如何使用WPF C#mediaelement淡入/淡出歌曲

时间:2014-03-19 09:11:41

标签: c# wpf fade mediaelement

我正在写一个媒体播放器,我在C#中使用WPF。

我的问题是我不知道如何创建淡入/淡出功能(使用媒体元素),这意味着播放歌曲的最后7秒将开始淡出,同时下一首歌的前7秒将开始播放。

有人这样做过吗?如果是这样,那么有人可以帮帮我吗? 谢谢。

3 个答案:

答案 0 :(得分:2)

您可以在MediaElement.Position上设置触发器,该触发器在结束后的七秒内MediaElement.Volume上启动DoubleAnimation(MediaElement.NaturalDuration

答案 1 :(得分:1)

您可以为UIElement.Opacity属性设置动画以实现视频淡入效果......

这是一个用于淡化视频的链接 http://www.darinhiggins.com/fading-two-video-windows-in-wpf/

同样,对于淡化音频,您可以为MediaElement.Volume属性设置动画。

答案 2 :(得分:0)

myMediaElement.Play();
myMediaElement.BeginAnimation(UIElement.OpacityProperty, new DoubleAnimation(myMediaElement.Opacity, 0, TimeSpan.FromSeconds(10)));
myMediaElement.BeginAnimation(MediaElement.VolumeProperty, new DoubleAnimation(myMediaElement.Volume, 0, TimeSpan.FromSeconds(11)));

myMediaElement1.Play();
myMediaElement1.BeginAnimation(UIElement.OpacityProperty, new DoubleAnimation(myMediaElement1.Opacity, 1, TimeSpan.FromSeconds(10)));
myMediaElement1.BeginAnimation(MediaElement.VolumeProperty, new DoubleAnimation(myMediaElement1.Volume, 1, TimeSpan.FromSeconds(11)));

希望这会有所帮助..只需创建两个MediaElements,适用于音量和视觉效果。