MediaPlayer不在故事板中播放声音

时间:2015-11-09 20:12:07

标签: c# wpf mvvm storyboard

我正在尝试播放与我在故事板中运行的动画同步的声音。 首先,我在ViewModel中创建一个MediaEventObject(我正在使用MVVM模式):

   private MediaElement _mediaElementObject;

    public MediaElement MediaElementObject
    {
        get { return _mediaElementObject; }
        set { _mediaElementObject = value; OnPropertyChanged("MediaElementObject"); }
    }

XAML看起来像这样:

    <ContentControl Content="{Binding MediaElementObject}"/>

在相应的方法中,我创建了Storyboard和MediaElementObject的实例:

            sb = new Storyboard();
            MediaElementObject = new MediaElement();

稍后我将MediaElement添加到故事板:

        MediaTimeline mtl = new MediaTimeline(new Uri(@"./Resources/Sounds/Ka-ching.Wav", UriKind.RelativeOrAbsolute));
        mtl.BeginTime = TimeSpan.FromSeconds(0.3);
        Storyboard.SetTarget(mtl, MediaElementObject);
        sb.Children.Add(mtl);
        sb.Begin();

我的故事板中还有其他双重动画,我没有在这里展示。但声音永远不会播放。资源Ka-Ching.wav设置为“emmbedded resource”和“copy to output directory”。

1 个答案:

答案 0 :(得分:0)

我必须将datacontext设置为MainWindow中的视图模型:

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4