我正在写一个媒体播放器,我在C#中使用WPF。
我的问题是我不知道如何创建淡入/淡出功能(使用媒体元素),这意味着播放歌曲的最后7秒将开始淡出,同时下一首歌的前7秒将开始播放。
有人这样做过吗?如果是这样,那么有人可以帮帮我吗? 谢谢。
答案 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,适用于音量和视觉效果。