Я пытаюсь воспроизвести фоновую музыку c в приложении WPF, но музыка c не воспроизводится, когда я использую относительный путь.
Это не работает:
<Storyboard x:Key="PlaySoundStoryboard">
<MediaTimeline Storyboard.TargetName="myMediaElement" Source="pack://application:,,,/Music/music.mp3" />
</Storyboard>
Однако, когда я выбираю полный путь в качестве источника, он работает: (Musi c также воспроизводится, когда я не запускаю приложение, а просто открываю код в Visual Studio, поэтому, если у кого-то есть исправление для этого, пожалуйста, дайте мне знать)
<Storyboard x:Key="PlaySoundStoryboard">
<MediaTimeline Storyboard.TargetName="myMediaElement" Source="D:\Documenten\Application\View\Music\music.mp3" />
</Storyboard>
Я также попытался просто указать папку, как предлагается здесь: Установите для Mediaelement Source значение Relative URI в коде WPF
<Storyboard x:Key="PlaySoundStoryboard">
<MediaTimeline Storyboard.TargetName="myMediaElement" Source="Music/music.mp3" />
Относительный путь работает, когда я использую его для изображений, поэтому я немного запутался, это работает:
<Button.Content>
<Image Source="pack://application:,,,/Img/music-and-multimedia.png"/>
</Button.Content>
Изменить: вот мой медиа-элемент
<MediaElement x:Name="myMediaElement" />
<Button Name="playbutton" Grid.Column="0" Width="40" Height="40" Background="Transparent" BorderThickness="0" HorizontalAlignment="Left">
<Button.Content>
<Image Source="pack://application:,,,/Img/music-and-multimedia.png"/>
</Button.Content>
</Button>
<Button Name="stopbutton" Grid.Column="1" Width="40" Height="40" Background="Transparent" BorderThickness="0" HorizontalAlignment="Left">
<Button.Content>
<Image Source="pack://application:,,,/Img/mute.png"/>
</Button.Content>
</Button>
А вот и моя Grid.Triggers:
<Grid.Triggers>
<EventTrigger RoutedEvent="FrameworkElement.Loaded">
<BeginStoryboard Storyboard="{StaticResource PlaySoundStoryboard}" Name="theStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="ButtonBase.Click" SourceName="playbutton">
<ResumeStoryboard BeginStoryboardName="theStoryboard" />
</EventTrigger>
<EventTrigger RoutedEvent="ButtonBase.Click" SourceName="stopbutton">
<PauseStoryboard BeginStoryboardName="theStoryboard" />
</EventTrigger>
</Grid.Triggers>