C# MediaPlayer没有';不要在故事板中播放声音
我正在尝试播放与我在故事板中运行的动画同步的声音。 因此,首先我在ViewModel中创建一个MediaEventObject(我使用的是MVVM模式): XAML如下所示:C# MediaPlayer没有';不要在故事板中播放声音,c#,wpf,mvvm,storyboard,C#,Wpf,Mvvm,Storyboard,我正在尝试播放与我在故事板中运行的动画同步的声音。 因此,首先我在ViewModel中创建一个MediaEventObject(我使用的是MVVM模式): XAML如下所示: <ContentControl Content="{Binding MediaElementObject}"/> 稍后,我将MediaElement添加到故事板: MediaTimeline mtl = new MediaTimeline(new Uri(@"./Resources/S
<ContentControl Content="{Binding MediaElementObject}"/>
稍后,我将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”。我必须在主窗口中将datacontext设置为视图模型:
public MainWindow()
{
ViewModel _ViewModel;
InitializeComponent();
_ViewModel = new ViewModel();
this.DataContext = _ViewModel;
}
看看这篇文章。。至少这篇文章让他玩了起来,但并没有停在那个帖子里,因为他们没有使用故事板。如果没有故事板,我可以播放声音。Ka_ching.wav是复制到输出目录还是作为资源包含?它作为嵌入式资源包含尝试将“构建操作”设置为“复制”。
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();
public MainWindow()
{
ViewModel _ViewModel;
InitializeComponent();
_ViewModel = new ViewModel();
this.DataContext = _ViewModel;
}