【问题标题】:WPF Storyboard delay in playing wma filesWPF Storyboard 延迟播放 wma 文件
【发布时间】:2011-03-05 12:14:58
【问题描述】:

我是 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 对象?

【问题讨论】:

    标签: c# .net wpf audio storyboard


    【解决方案1】:

    我将代码更改为 -

    <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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多