コード例 #1
0
        //</SnippetToggleUnchecked>


        //<SnippetAudioTracksChanged_CodecCheck>
        private async void SnippetAudioTracksChanged_CodecCheck(MediaPlaybackItem sender, IVectorChangedEventArgs args)
        {
            if (args.CollectionChange == CollectionChange.ItemInserted)
            {
                var insertedTrack = sender.AudioTracks[(int)args.Index];

                var decoderStatus = insertedTrack.SupportInfo.DecoderStatus;
                if (decoderStatus != MediaDecoderStatus.FullySupported)
                {
                    if (decoderStatus == MediaDecoderStatus.Degraded)
                    {
                        ShowMessageToUser(string.Format("Track {0} can play but playback will be degraded. {1}",
                                                        insertedTrack.Name, insertedTrack.SupportInfo.DegradationReason));
                    }
                    else
                    {
                        // status is MediaDecoderStatus.UnsupportedSubtype or MediaDecoderStatus.UnsupportedEncoderProperties
                        ShowMessageToUser(string.Format("Track {0} uses an unsupported media format.", insertedTrack.Name));
                    }

                    Windows.Media.MediaProperties.AudioEncodingProperties props = insertedTrack.GetEncodingProperties();
                    await HelpUserInstallCodec(props);
                }
                else
                {
                    insertedTrack.OpenFailed += InsertedTrack_OpenFailed;
                }
            }
        }
コード例 #2
0
ファイル: MainPage.xaml.cs プロジェクト: arturosantos/el-bebe
        // </SnippetOpenFailed>


        public async Task HelpUserInstallCodec(Windows.Media.MediaProperties.AudioEncodingProperties props)
        {
            await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
            {
                // This is fake async so the method can be called async
            });
        }