Воспроизведение звука на доске объявлений завершено - PullRequest
2 голосов
/ 10 августа 2011

Я пытаюсь добиться этого потока при открытии страницы в WP7:

играть раскадровку "мигать" ⇒ играть звук ⇒ играть раскадровку "движение"

Я добавил звук как MediaElement, как вы можете видеть в коде. Я должен был установить AutoPlay = "False", иначе звук будет воспроизводиться мгновенно при открытии страницы.

Проблема в том, что когда мигающий раскадровка заканчивается, звук никогда не воспроизводится. Я прикрепил триггер MediaEnded к MediaElement, полагая, что он будет ссылаться на звук, указанный в MediaElement. Но это ничего не делает. Я попытался указать звук еще раз в свойстве «Source» PlaySoundAction, но он все равно не воспроизводит звук. Я думаю, что MediaElement является «autoplay = false» виновником, но я не могу снять его, как описано выше.

            <MediaElement x:Name="mysound" HorizontalAlignment="Left" Height="0" Source="/mysound.mp3" Stretch="Fill" VerticalAlignment="Top" Width="0" Volume="1" AutoPlay="False">
                <i:Interaction.Triggers>
                    <i:EventTrigger EventName="MediaEnded">
                        <eim:ControlStoryboardAction Storyboard="{StaticResource movement}"/>
                    </i:EventTrigger>
                    <eim:StoryboardCompletedTrigger Storyboard="{StaticResource blink}">
                        <eim:PlaySoundAction Volume="1"/>
                    </eim:StoryboardCompletedTrigger>
                </i:Interaction.Triggers>
            </MediaElement>

Ответы [ 2 ]

1 голос
/ 10 августа 2011

У меня также было много проблем с MediaElement, и поэтому я предпочитаю использовать следующее для решения этой проблемы.

http://www.dotnetscraps.com/dotnetscraps/post/Play-multiple-sound-files-in-Silverlight-for-Windows-Phone-7.aspx

Посмотрите, поможет ли это.

0 голосов
/ 10 августа 2011

Ваш обработчик mediaEnded никогда не запускается, так как мультимедиа никогда не воспроизводится.

Обрабатывайте событие Completed на раскадровке "blink".Пусть это сыграет звук.Затем обработчик mediaEnded запускает следующую раскадровку.

Возможно, вам будет проще подключиться к C #, чем к xaml.(Если хотите, вы всегда можете изменить его, если он у вас работает.)

...