From: Mohamad Al-Jaf mohamadaljaf@gmail.com
--- include/windows.media.playback.idl | 44 ++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+)
diff --git a/include/windows.media.playback.idl b/include/windows.media.playback.idl index e38482c46a2..5ad141821e2 100644 --- a/include/windows.media.playback.idl +++ b/include/windows.media.playback.idl @@ -43,9 +43,12 @@ import "windows.ui.composition.idl"; namespace Windows.Media.Playback { typedef enum MediaPlayerError MediaPlayerError; typedef enum MediaPlayerState MediaPlayerState; + typedef enum MediaPlayerAudioCategory MediaPlayerAudioCategory; + typedef enum MediaPlayerAudioDeviceType MediaPlayerAudioDeviceType;
interface IBackgroundMediaPlayerStatics; interface IMediaPlayer; + interface IMediaPlayer2; interface IMediaPlayerDataReceivedEventArgs; interface IMediaPlayerFailedEventArgs; interface IMediaPlayerRateChangedEventArgs; @@ -101,6 +104,33 @@ namespace Windows.Media.Playback { Stopped = 5, };
+ [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum MediaPlayerAudioCategory + { + Other = 0, + Communications = 3, + Alerts = 4, + SoundEffects = 5, + GameEffects = 6, + GameMedia = 7, + GameChat = 8, + Speech = 9, + Movie = 10, + Media = 11, + }; + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0) + ] + enum MediaPlayerAudioDeviceType + { + Console = 0, + Multimedia = 1, + Communications = 2, + }; + [ contract(Windows.Foundation.UniversalApiContract, 1.0), exclusiveto(Windows.Media.Playback.BackgroundMediaPlayer), @@ -230,6 +260,20 @@ namespace Windows.Media.Playback { [deprecated("Use Source instead of SetUriSource. For more info, see MSDN.", deprecate, Windows.Foundation.UniversalApiContract, 2.0)] HRESULT SetUriSource([in] Windows.Foundation.Uri *value); } + + [ + contract(Windows.Foundation.UniversalApiContract, 1.0), + exclusiveto(Windows.Media.Playback.MediaPlayer), + uuid(3c841218-2123-4fc5-9082-2f883f77bdf5) + ] + interface IMediaPlayer2 : IInspectable + { + [propget] HRESULT SystemMediaTransportControls([out, retval] Windows.Media.SystemMediaTransportControls **value); + [propget] HRESULT AudioCategory([out, retval] Windows.Media.Playback.MediaPlayerAudioCategory *value); + [propput] HRESULT AudioCategory([in] Windows.Media.Playback.MediaPlayerAudioCategory value); + [propget] HRESULT AudioDeviceType([out, retval] Windows.Media.Playback.MediaPlayerAudioDeviceType *value); + [propput] HRESULT AudioDeviceType([in] Windows.Media.Playback.MediaPlayerAudioDeviceType value); + } #endif
[