Windows Phone -> Windows 8 Store アプリから移植しているアプリがあります。App.Xaml.vb を介して音楽を再生します (アプリ全体で再生し、CurrentApp を介して制御できるようにするため)。これはすべて電話でうまく機能します。音楽トラックが終了すると、MediaEnded イベントが発生し、アプリは別のトラックを選択して再生します。Windows 8 では、最初のトラックが終了すると、アプリは無音になります。
Windows 8 では、MediaElement.MediaEnded イベントは発生しません。
メディア要素をセットアップし、ハンドラーを追加します。
Public WithEvents MusicElement as New MediaElement
[...then in the constructor...]
AddHandler MusicElement.MediaEnded, AddressOf ChangeTrack
音楽が再生されます (投稿する必要はないと思われる PlayMusic メソッドを使用します) が、音楽が終了してもイベントは発生しません。
スマホ版と Windows 8 版の違いは、Win8 では MediaElement コントロールを何らかの理由で XAML に配置できないことです。許可されていないようですので、コード ビハインドで初期化します。
「バックグラウンド オーディオ」メディア タイプは使用していません (MediaEnded イベントで問題が発生する可能性があると聞いています)。
再生が開始される前にハンドラが追加されることを確認しました。
何か案は?
編集: App.XAML の XAML (試行) コード:
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Common/StandardStyles.xaml"/>
<ResourceDictionary Source="DetectiveStyles.xaml"/>
</ResourceDictionary.MergedDictionaries>
<!--<MediaElement x:Name="MusicElement" x:Key="MusicElement" Source="/Sounds/Music/doing-my-best.mp3" AutoPlay="False"/>-->
</ResourceDictionary>
</Application.Resources>