WPF MediaElement,如何让重复速度变慢?
问题描述:
每次重复都会延迟。WPF MediaElement,如何让重复速度变慢?
let mediaTimeline=MediaTimeline([email protected]"...mp3",RepeatBehavior=RepeatBehavior.Forever)
let storyboard=Storyboard()
storyboard.Children.Add mediaTimeline
let mediaElement=MediaElement()
mediaElement.BeginStoryboard<|storyboard
(在任何语言接听或WPF标记是欢迎)
答
你可以这样做:
using System.Threading.Tasks;
MediaElement me = new MediaElement(); // Make sure add this control to Window or a control.
me.MediaEnded += me_MediaEnded;
me.LoadedBehavior = MediaState.Manual; // Must have this line
// load song...
me.Play();
async void me_MediaEnded(object sender, RoutedEventArgs e)
{
await Task.Delay(1000);
me.Play();
}
注:await
需要.Net 4.5
。如果.Net版本较低,则可以使用DispatcherTimer
代替。
+0
将不会编译... –
+0
为什么它不会complie?有错误吗?我的应用程序没有问题。 – Sakura
+0
@Sakure可能与它的C#版本;我使用4.0 ...无论这个想法是正确的。 –
你是什么意思的延误?歌曲再次播放之前暂停? –
看起来像F#给我,以及...只是说 –
是的,暂停一秒再打之前。 @FᴀʀʜᴀɴAɴᴀᴍ –