Задержка раскадровки WPF при воспроизведении файлов wma - PullRequest
1 голос
/ 18 июня 2010

Я новичок в WPF и у меня есть приложение, которое использует StoryBoard для воспроизведения звука.

public void PlaySound()
{
 MediaElement m = (MediaElement)audio.FindName("MySound.wma");
 m.IsMuted = false;
 FrameworkElement audioKey = (FrameworkElement)keys.FindName("MySound");
 Storyboard s = (Storyboard)audioKey.FindResource("MySound.wma");
 s.Begin(audioKey);
}

<Storyboard x:Key="MySound.wma">
 <MediaTimeline d:DesignTimeNaturalDuration="1.615" BeginTime="00:00:00" Storyboard.TargetName="MySound.wma" Source="Audio\MySound.wma"/>
</Storyboard>

У меня ужасная задержка, и иногда для воспроизведения звука требуется 10 секунд.,Я подозреваю, что это как-то связано с тем, что независимо от того, как долго я жду - звук не воспроизводится до тех пор, пока я не выйду из функции.Я не понимаю этоЯ звоню Begin, и ничего не происходит.Есть ли способ заменить этот метод или объект StoryBoard чем-то, что воспроизводится мгновенно и без задержки?

1 Ответ

1 голос
/ 19 июня 2010

Я изменил свой код на -

<Button Cursor="Hand" HorizontalAlignment="Left" Margin="70,0,0,0" x:Name="MyButton"  Width="286" Content="Hi!" Focusable="False" IsTabStop="False">
        <Button.Triggers>
            <EventTrigger RoutedEvent="Button.PreviewMouseLeftButtonDown">
                <EventTrigger.Actions>
                    <BeginStoryboard>
                        <Storyboard SlipBehavior="Slip" BeginTime="00:00:00">
                            <MediaTimeline Storyboard.TargetName="MySound_wma" Source="MySound.wma"/>
                        </Storyboard>
                    </BeginStoryboard>
                </EventTrigger.Actions>
            </EventTrigger>
    </Button.Triggers>
</Button>

И, кажется, теперь работает нормально, спасибо xD

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...