2011-08-10 9 views
2

私はページがWP7で開かれたとき、このフローを実現しようとしている:プレイ音を完全

プレイストーリーボードは

を「点滅」⇒音⇒再生ストーリーボード「動き」を演じる私が追加コードで見られるようにMediaElementとしてのサウンド私はAutoPlay = "False"に設定しなければなりませんでした。そうしないと、ページが開いたときにサウンドが即座に再生されます。

点滅ストーリーボードが終了したときにサウンドが再生されないという問題があります。私はMediaEndedトリガーを、MediaElementで指定されたサウンドを参照すると考えてMediaElementに貼り付けました。しかし、それは何もしません。私は、PlaySoundActionの "Source"プロパティ内でもう一度サウンドを指定しようとしましたが、それでもサウンドは再生されません。私は、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> 
+0

私は最初にすべてのものについて大きなストーリーボードを作ることを考えていましたが、ストーリーボードにサウンドを追加する方法は存在しないようですか、それともありますか? – Jonny

答えて

0

mediaEndedハンドラは、メディアが再生されないため、決して発砲しません。

「点滅」ストーリーボードのCompletedイベントを処理します。その音を演奏してください。次に、mediaEndedハンドラに次のストーリーボードを開始させます。

これはxamlではなくC#で簡単に結びつくことがあります。

+0

ありがとうございました、ストーリーボードの完了イベントがそれを修正しました。 – Jonny

1

私はMediaElementにも多くの問題を抱えており、この問題を解決するために以下の方法を使用することをお勧めします。

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

それは場合に役立ちます参照してください。

+0

これは面白いですが、私はWP7/Silverlightを使い始めたばかりなので、これを後で見てみましょう。 – Jonny

+0

私はそのページのコードを別のタスクにも使用しています。これはwavファイル、mp3やその他のフォーマットで動作させるためにどのように使うのでしょうか? – Jonny