ページ間でMediaElementをクロスフェードさせたい
- 題名: ページ間でMediaElementをクロスフェードさせたい
- 著者: ぺんたごん
- 日時: 2013/07/07 2:35:16
- ID: 31706
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ページ間でMediaElementをクロスフェードさせたい
- 著者: Hongliang
- 日時: 2013/07/07 18:15:52
- ID: 31708
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ページ間でMediaElementをクロスフェードさせたい
- 著者: ぺんたごん
- 日時: 2013/07/08 9:54:25
- ID: 31710
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: ページ間でMediaElementをクロスフェードさせたい
- 著者: ぺんたごん
- 日時: 2013/07/08 9:54:41
- ID: 31711
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: ページ間でMediaElementをクロスフェードさせたい
- 著者: Hongliang
- 日時: 2013/07/08 14:32:13
- ID: 31712
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
[Winストアアプリ]
Windows8/WindowsRT、VisualStudio2012、.NET4.5、C#
お世話になります。
現在ストア向けにゲームを練習で作ってます。
タイトル→ステージ選択←→ゲーム画面の3つをPageを分けて
Navigateで遷移させるようにしています。
各画面はそれぞれBGMを持っていて、遷移時にクロスフェード再生させようとしています。
そこで問題となっているのがVolumeの設定です。XAMLではなくコードで
インスタンス生成&保持しているMediaElement型変数があり、この
MediaElementのVolumeをタイマーを使って変動させているのですが、
ページ内のGridのChildrenにAddしておかないとVolumeが反映されません。
(これはバグ?仕様?)
しかし、Children.Addしておくとページが遷移した時にすぐに停止されてしまいます。
(次のページに遷移してもBGM自体は鳴り続けさせておきたい、タイマーでVolume=0になったときに止めたい)
ページ遷移時に発生するSaveState内でChildren.Removeしても変わらず、困り果てました。
そもそもゲームならページ遷移させるような設計にするな、ということかもしれませんが…
ご教示頂ければ幸いです。
以上よろしくお願いいたします。