提交 50cff71b 编写于 作者: J Jerome Laban

feat: Add extensibility support for Windows.Media.Playback.MediaPlayer

上级 51fc6bfa
......@@ -9393,6 +9393,29 @@
</Methods>
</IgnoreSet>
<IgnoreSet baseVersion="4.8">
<Types>
</Types>
<Events>
</Events>
<Fields>
</Fields>
<Properties>
</Properties>
<Methods>
<!-- BEGIN MediaPlayer updates -->
<Member fullName="System.Void Windows.Media.Playback.MediaPlayerFailedEventArgs..ctor()" reason="Not present in Windows" />
<Member fullName="System.Void Windows.Media.Playback.MediaPlayerRateChangedEventArgs..ctor()" reason="Not present in Windows" />
<Member fullName="System.Void Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs..ctor()" reason="Not present in Windows" />
<Member fullName="System.Void Windows.Media.Playback.MediaPlaybackSession..ctor()" reason="Not present in Windows" />
<!-- END MediaPlayer updates -->
</Methods>
</IgnoreSet>
<!--
Supported nodes (please keep at the bottom of this file):
<IgnoreSet baseVersion="0.0">
......
......@@ -21,7 +21,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::System.TimeSpan Position
{
......@@ -35,7 +35,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public double PlaybackRate
{
......@@ -63,7 +63,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public double BufferingProgress
{
......@@ -113,7 +113,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::Windows.Media.Playback.MediaPlayer MediaPlayer
{
......@@ -123,7 +123,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::System.TimeSpan NaturalDuration
{
......@@ -153,7 +153,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::Windows.Media.Playback.MediaPlaybackState PlaybackState
{
......@@ -303,7 +303,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> BufferingProgressChanged
{
......@@ -319,7 +319,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
#if __ANDROID__ || __IOS__ || NET461 || false || false || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> BufferingStarted
{
......@@ -335,7 +335,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
#if __ANDROID__ || __IOS__ || NET461 || false || false || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> DownloadProgressChanged
{
......@@ -351,7 +351,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> NaturalDurationChanged
{
......@@ -383,7 +383,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> PlaybackRateChanged
{
......@@ -399,7 +399,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> PlaybackStateChanged
{
......@@ -415,7 +415,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlaybackSession, object> PositionChanged
{
......
......@@ -7,7 +7,7 @@ namespace Windows.Media.Playback
#endif
public partial class MediaPlayer : global::System.IDisposable
{
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public double Volume
{
......@@ -21,7 +21,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::System.TimeSpan Position
{
......@@ -35,8 +35,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public double PlaybackRate
{
get
......@@ -49,8 +49,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public bool IsLoopingEnabled
{
get
......@@ -63,7 +63,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public bool IsMuted
{
......@@ -77,7 +77,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public bool AutoPlay
{
......@@ -91,8 +91,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::Windows.Media.Playback.MediaPlayerState CurrentState
{
get
......@@ -101,8 +101,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::System.TimeSpan NaturalDuration
{
get
......@@ -121,8 +121,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public bool IsProtected
{
get
......@@ -131,8 +131,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public double BufferingProgress
{
get
......@@ -141,8 +141,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public bool CanPause
{
get
......@@ -151,8 +151,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public bool CanSeek
{
get
......@@ -161,8 +161,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::Windows.Media.Playback.MediaPlayerAudioDeviceType AudioDeviceType
{
get
......@@ -175,8 +175,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::Windows.Media.Playback.MediaPlayerAudioCategory AudioCategory
{
get
......@@ -199,8 +199,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::System.TimeSpan TimelineControllerPositionOffset
{
get
......@@ -241,8 +241,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public bool RealTimePlayback
{
get
......@@ -269,8 +269,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public double AudioBalance
{
get
......@@ -303,8 +303,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public global::Windows.Media.Playback.MediaPlaybackSession PlaybackSession
{
get
......@@ -351,7 +351,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::Windows.Media.Playback.IMediaPlaybackSource Source
{
......@@ -365,7 +365,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || false || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public MediaPlayer()
{
......@@ -412,22 +412,22 @@ namespace Windows.Media.Playback
// Forced skipping of method Windows.Media.Playback.MediaPlayer.BufferingStarted.remove
// Forced skipping of method Windows.Media.Playback.MediaPlayer.BufferingEnded.add
// Forced skipping of method Windows.Media.Playback.MediaPlayer.BufferingEnded.remove
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public void Play()
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.Play()");
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
#if false || false || false || NET461 || false || false || false
[global::Uno.NotImplemented("NET461")]
public void Pause()
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.Pause()");
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void SetUriSource( global::System.Uri value)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.SetUriSource(Uri value)");
......@@ -435,22 +435,22 @@ namespace Windows.Media.Playback
#endif
// Forced skipping of method Windows.Media.Playback.MediaPlayer.ProtectionManager.get
// Forced skipping of method Windows.Media.Playback.MediaPlayer.ProtectionManager.set
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void SetFileSource( global::Windows.Storage.IStorageFile file)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.SetFileSource(IStorageFile file)");
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void SetStreamSource( global::Windows.Storage.Streams.IRandomAccessStream stream)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.SetStreamSource(IRandomAccessStream stream)");
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void SetMediaSource( global::Windows.Media.Core.IMediaSource source)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.SetMediaSource(IMediaSource source)");
......@@ -477,7 +477,7 @@ namespace Windows.Media.Playback
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.RemoveAllEffects()");
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public void Dispose()
{
......@@ -503,15 +503,15 @@ namespace Windows.Media.Playback
// Forced skipping of method Windows.Media.Playback.MediaPlayer.TimelineControllerPositionOffset.get
// Forced skipping of method Windows.Media.Playback.MediaPlayer.TimelineControllerPositionOffset.set
// Forced skipping of method Windows.Media.Playback.MediaPlayer.PlaybackSession.get
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void StepForwardOneFrame()
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.StepForwardOneFrame()");
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void StepBackwardOneFrame()
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.StepBackwardOneFrame()");
......@@ -524,8 +524,8 @@ namespace Windows.Media.Playback
throw new global::System.NotImplementedException("The member CastingSource MediaPlayer.GetAsCastingSource() is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=CastingSource%20MediaPlayer.GetAsCastingSource%28%29");
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public void SetSurfaceSize( global::Windows.Foundation.Size size)
{
global::Windows.Foundation.Metadata.ApiInformation.TryRaiseNotImplemented("Windows.Media.Playback.MediaPlayer", "void MediaPlayer.SetSurfaceSize(Size size)");
......@@ -581,8 +581,8 @@ namespace Windows.Media.Playback
}
#endif
// Forced skipping of method Windows.Media.Playback.MediaPlayer.AudioStateMonitor.get
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> BufferingEnded
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -597,8 +597,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> BufferingStarted
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -613,8 +613,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> CurrentStateChanged
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -629,8 +629,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> MediaEnded
{
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
......@@ -645,7 +645,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, global::Windows.Media.Playback.MediaPlayerFailedEventArgs> MediaFailed
{
......@@ -661,7 +661,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> MediaOpened
{
......@@ -677,8 +677,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, global::Windows.Media.Playback.MediaPlayerRateChangedEventArgs> MediaPlayerRateChanged
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -693,8 +693,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, global::Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs> PlaybackMediaMarkerReached
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -709,7 +709,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> SeekCompleted
{
......@@ -725,7 +725,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> VolumeChanged
{
......@@ -741,7 +741,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> IsMutedChanged
{
......@@ -757,7 +757,7 @@ namespace Windows.Media.Playback
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
#if false || false || false || false || false || false || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> SourceChanged
{
......@@ -773,8 +773,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> VideoFrameAvailable
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......@@ -789,8 +789,8 @@ namespace Windows.Media.Playback
}
}
#endif
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
#if __ANDROID__ || __IOS__ || false || false || false || false || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "__MACOS__")]
public event global::Windows.Foundation.TypedEventHandler<global::Windows.Media.Playback.MediaPlayer, object> SubtitleFrameChanged
{
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
......
......@@ -2,43 +2,4 @@
#pragma warning disable 114 // new keyword hiding
namespace Windows.Media.Playback
{
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
#endif
public partial class MediaPlayerFailedEventArgs
{
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::Windows.Media.Playback.MediaPlayerError Error
{
get
{
throw new global::System.NotImplementedException("The member MediaPlayerError MediaPlayerFailedEventArgs.Error is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=MediaPlayerError%20MediaPlayerFailedEventArgs.Error");
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public string ErrorMessage
{
get
{
throw new global::System.NotImplementedException("The member string MediaPlayerFailedEventArgs.ErrorMessage is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=string%20MediaPlayerFailedEventArgs.ErrorMessage");
}
}
#endif
#if false || false || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || false
[global::Uno.NotImplemented("NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__")]
public global::System.Exception ExtendedErrorCode
{
get
{
throw new global::System.NotImplementedException("The member Exception MediaPlayerFailedEventArgs.ExtendedErrorCode is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=Exception%20MediaPlayerFailedEventArgs.ExtendedErrorCode");
}
}
#endif
// Forced skipping of method Windows.Media.Playback.MediaPlayerFailedEventArgs.Error.get
// Forced skipping of method Windows.Media.Playback.MediaPlayerFailedEventArgs.ExtendedErrorCode.get
// Forced skipping of method Windows.Media.Playback.MediaPlayerFailedEventArgs.ErrorMessage.get
}
}
......@@ -2,21 +2,5 @@
#pragma warning disable 114 // new keyword hiding
namespace Windows.Media.Playback
{
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented]
#endif
public partial class MediaPlayerRateChangedEventArgs
{
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
public double NewRate
{
get
{
throw new global::System.NotImplementedException("The member double MediaPlayerRateChangedEventArgs.NewRate is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=double%20MediaPlayerRateChangedEventArgs.NewRate");
}
}
#endif
// Forced skipping of method Windows.Media.Playback.MediaPlayerRateChangedEventArgs.NewRate.get
}
}
......@@ -2,21 +2,4 @@
#pragma warning disable 114 // new keyword hiding
namespace Windows.Media.Playback
{
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented]
#endif
public partial class PlaybackMediaMarkerReachedEventArgs
{
#if __ANDROID__ || __IOS__ || NET461 || __WASM__ || __SKIA__ || __NETSTD_REFERENCE__ || __MACOS__
[global::Uno.NotImplemented("__ANDROID__", "__IOS__", "NET461", "__WASM__", "__SKIA__", "__NETSTD_REFERENCE__", "__MACOS__")]
public global::Windows.Media.Playback.PlaybackMediaMarker PlaybackMediaMarker
{
get
{
throw new global::System.NotImplementedException("The member PlaybackMediaMarker PlaybackMediaMarkerReachedEventArgs.PlaybackMediaMarker is not implemented. For more information, visit https://aka.platform.uno/notimplemented?m=PlaybackMediaMarker%20PlaybackMediaMarkerReachedEventArgs.PlaybackMediaMarker");
}
}
#endif
// Forced skipping of method Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs.PlaybackMediaMarker.get
}
}
#nullable enable
using System;
using Windows.Media.Playback;
namespace Uno.Media.Playback
{
/// <summary>
/// Extension interface for <see cref="MediaPlayer"/> events
/// </summary>
public interface IMediaPlayerEventsExtension
{
/// <summary>
/// Raises the <see cref="MediaPlayer.SourceChanged"/> event
/// </summary>
void RaiseSourceChanged();
/// <summary>
/// Raises the <see cref="MediaPlayer.IsMutedChanged"/> event
/// </summary>
void RaiseIsMutedChanged();
/// <summary>
/// Raises the <see cref="MediaPlayer.VolumeChanged"/> event
/// </summary>
void RaiseVolumeChanged();
/// <summary>
/// Raises the <see cref="MediaPlayer.MediaEnded"/> event
/// </summary>
void RaiseMediaEnded();
/// <summary>
/// Raises the <see cref="MediaPlayer.MediaFailed"/> event
/// </summary>
void RaiseMediaFailed(MediaPlayerError error, string ErrorMessage, Exception ExtendedErrorCode);
/// <summary>
/// Raises the <see cref="MediaPlayer.MediaOpened"/> event
/// </summary>
void RaiseMediaOpened();
/// <summary>
/// Raises the <see cref="MediaPlayer.SeekCompleted"/> event
/// </summary>
void RaiseSeekCompleted();
/// <summary>
/// Raises the <see cref="MediaPlayer.VideoRatioChanged"/> event
/// </summary>
void RaiseVideoRatioChanged(double videoRatio);
/// <summary>
/// Raises the <see cref="MediaPlayer.BufferingEnded"/> event
/// </summary>
void RaiseBufferingEnded();
/// <summary>
/// Raises the <see cref="MediaPlayer.BufferingStarted"/> event
/// </summary>
void RaiseBufferingStarted();
/// <summary>
/// Raises the <see cref="MediaPlayer.CurrentStateChanged"/> event
/// </summary>
void RaiseCurrentStateChanged();
/// <summary>
/// Raises the <see cref="MediaPlayer.MediaPlayerRateChanged"/> event
/// </summary>
void RaiseMediaPlayerRateChanged(double newRate);
/// <summary>
/// Raises the <see cref="MediaPlayer.PlaybackMediaMarkerReached"/> event
/// </summary>
void RaisePlaybackMediaMarkerReached(PlaybackMediaMarker playbackMediaMarker);
/// <summary>
/// Raise the <see cref="MediaPlayer.VideoFrameAvailable"/> event
/// </summary>
void RaiseVideoFrameAvailable();
/// <summary>
/// Raises the <see cref="MediaPlayer.SubtitleFrameChanged"/> event
/// </summary>
void RaiseSubtitleFrameChanged();
}
}
#nullable enable
using System;
using Windows.Media.Core;
using Windows.Storage;
using Windows.Foundation;
using Windows.Storage.Streams;
using Windows.Media.Playback;
namespace Uno.Media.Playback
{
/// <summary>
/// Extension definition for the <see cref="MediaPlayer"/> class
/// </summary>
public interface IMediaPlayerExtension : IDisposable
{
/// <summary>
/// Provides access to the ability to raise MediaPlayer events
/// </summary>
IMediaPlayerEventsExtension Events { get; set; }
/// <summary>
/// Gets or sets the playback rate
/// </summary>
double PlaybackRate { get; set; }
/// <summary>
/// Gets or sets the looping mode
/// </summary>
bool IsLoopingEnabled { get; set; }
/// <summary>
/// Gets the current player state
/// </summary>
MediaPlayerState CurrentState { get; }
/// <summary>
/// Gets the natural duration of the current media
/// </summary>
TimeSpan NaturalDuration { get; }
/// <summary>
/// Gets the protected state of the current media
/// </summary>
bool IsProtected { get; }
/// <summary>
/// Gets the buffering progress state of the current media
/// </summary>
double BufferingProgress { get; }
/// <summary>
/// Determines if the current media can be paused
/// </summary>
bool CanPause { get; }
/// <summary>
/// Determines if the current media can be seeked
/// </summary>
bool CanSeek { get; }
/// <summary>
/// Gets the audio device type
/// </summary>
MediaPlayerAudioDeviceType AudioDeviceType { get; set; }
/// <summary>
/// Gets the audio category
/// </summary>
MediaPlayerAudioCategory AudioCategory { get; set; }
/// <summary>
/// Gets position offset
/// </summary>
TimeSpan TimelineControllerPositionOffset { get; set; }
/// <summary>
/// Determines if the current media is playing in real time
/// </summary>
bool RealTimePlayback { get; set; }
/// <summary>
/// Gets or sets the audio balance
/// </summary>
double AudioBalance { get; set; }
/// <summary>
/// Gets or sets the current position in the media
/// </summary>
TimeSpan Position { get; set; }
/// <summary>
/// Sets the source from a Uri
/// </summary>
void SetUriSource(Uri value);
/// <summary>
/// Sets the source from a storage file
/// </summary>
void SetFileSource(IStorageFile file);
/// <summary>
/// Sets the source from a stream
/// </summary>
void SetStreamSource(IRandomAccessStream stream);
/// <summary>
/// Sets the source from a media source
/// </summary>
void SetMediaSource(IMediaSource source);
/// <summary>
/// Steps the media forward one frame
/// </summary>
void StepForwardOneFrame();
/// <summary>
/// Steps the media backward one frame
/// </summary>
void StepBackwardOneFrame();
/// <summary>
/// Sets the surface size
/// </summary>
void SetSurfaceSize(Size size);
/// <summary>
/// Plays the current media
/// </summary>
void Play();
/// <summary>
/// Pauses the current media
/// </summary>
void Pause();
/// <summary>
/// Stops the current media
/// </summary>
void Stop();
/// <summary>
/// Initialize the source
/// </summary>
void InitializeSource();
/// <summary>
/// Toggles the mute state
/// </summary>
void ToggleMute();
/// <summary>
/// Notifies the extension that the volume has changed
/// </summary>
void OnVolumeChanged();
/// <summary>
/// Initializes the extension
/// </summary>
void Initialize();
}
}
#if __ANDROID__ || __IOS__ || __MACOS__
using System;
using Windows.Foundation;
......@@ -11,10 +10,7 @@ namespace Windows.Media.Playback
private TimeSpan _position;
public TimeSpan Position
{
get
{
return _position;
}
get => _position;
set
{
if (value < TimeSpan.Zero)
......@@ -59,10 +55,7 @@ namespace Windows.Media.Playback
private TimeSpan _naturalDuration;
public TimeSpan NaturalDuration
{
get
{
return _naturalDuration;
}
get => _naturalDuration;
internal set
{
_naturalDuration = value;
......@@ -73,10 +66,7 @@ namespace Windows.Media.Playback
private double _bufferingProgress;
public double BufferingProgress
{
get
{
return _bufferingProgress;
}
get => _bufferingProgress;
internal set
{
_bufferingProgress = value;
......@@ -87,10 +77,7 @@ namespace Windows.Media.Playback
private double _playbackRate;
public double PlaybackRate
{
get
{
return _playbackRate;
}
get => _playbackRate;
set
{
_playbackRate = value;
......@@ -101,10 +88,7 @@ namespace Windows.Media.Playback
private MediaPlaybackState _playbackState;
public MediaPlaybackState PlaybackState
{
get
{
return _playbackState;
}
get => _playbackState;
set
{
_playbackState = value;
......@@ -128,4 +112,3 @@ namespace Windows.Media.Playback
}
}
}
#endif
......@@ -324,12 +324,7 @@ namespace Windows.Media.Playback
private void OnMediaFailed(global::System.Exception ex = null, string message = null)
{
MediaFailed?.Invoke(this, new MediaPlayerFailedEventArgs()
{
Error = MediaPlayerError.Unknown,
ExtendedErrorCode = ex,
ErrorMessage = message ?? ex?.Message
});
MediaFailed?.Invoke(this, new(MediaPlayerError.Unknown, message ?? ex?.Message, ex));
PlaybackSession.PlaybackState = MediaPlaybackState.None;
}
......
#if !(__ANDROID__ || __IOS__ || __MACOS__)
#nullable enable
using System;
using System.Collections.Generic;
using System.Text;
using Uno.Foundation.Extensibility;
using Uno.Foundation.Logging;
using Windows.Foundation;
using Uno.Media.Playback;
namespace Windows.Media.Playback
{
public partial class MediaPlayer
{
void RaiseBufferingEnded()
=> BufferingEnded?.Invoke(this, new object());
void RaiseBufferingStarted()
=> BufferingStarted?.Invoke(this, new object());
void RaiseCurrentStateChanged()
=> CurrentStateChanged?.Invoke(this, new object());
void RaiseIsMutedChanged()
=> IsMutedChanged?.Invoke(this, new object());
void RaiseMediaEnded()
=> MediaEnded?.Invoke(this, new object());
void RaiseMediaFailed(MediaPlayerError error, string errorMessage, Exception extendedErrorCode)
=> MediaFailed?.Invoke(this, new MediaPlayerFailedEventArgs(error, errorMessage, extendedErrorCode));
void RaiseMediaOpened()
=> MediaOpened?.Invoke(this, new object());
void RaisePlaybackMediaMarkerReached(PlaybackMediaMarker playbackMediaMarker)
=> PlaybackMediaMarkerReached?.Invoke(this, new PlaybackMediaMarkerReachedEventArgs(playbackMediaMarker));
void RaiseMediaPlayerRateChanged(double newRate)
=> MediaPlayerRateChanged?.Invoke(this, new(newRate));
void RaiseSeekCompleted()
=> SeekCompleted?.Invoke(this, new object());
void RaiseSourceChanged()
=> SourceChanged?.Invoke(this, new object());
void RaiseSubtitleFrameChanged()
=> SubtitleFrameChanged?.Invoke(this, new object());
void RaiseVideoFrameAvailable()
=> VideoFrameAvailable?.Invoke(this, new object());
void RaiseVideoRatioChanged(double videoRatio)
=> VideoRatioChanged?.Invoke(this, videoRatio);
void RaiseVolumeChanged()
=> VolumeChanged?.Invoke(this, null);
class MediaPlayerEvents : IMediaPlayerEventsExtension
{
private MediaPlayer _owner;
public MediaPlayerEvents(MediaPlayer owner)
{
_owner = owner;
}
void IMediaPlayerEventsExtension.RaiseBufferingEnded()
=> _owner.RaiseBufferingEnded();
void IMediaPlayerEventsExtension.RaiseBufferingStarted()
=> _owner.RaiseBufferingStarted();
void IMediaPlayerEventsExtension.RaiseCurrentStateChanged()
=> _owner.RaiseCurrentStateChanged();
void IMediaPlayerEventsExtension.RaiseIsMutedChanged()
=> _owner.RaiseIsMutedChanged();
void IMediaPlayerEventsExtension.RaiseMediaEnded()
=> _owner.RaiseMediaEnded();
void IMediaPlayerEventsExtension.RaiseMediaFailed(MediaPlayerError error, string errorMessage, Exception extendedErrorCode)
=> _owner.RaiseMediaFailed(error, errorMessage, extendedErrorCode);
void IMediaPlayerEventsExtension.RaiseMediaOpened()
=> _owner.RaiseMediaOpened();
void IMediaPlayerEventsExtension.RaisePlaybackMediaMarkerReached(PlaybackMediaMarker playbackMediaMarker)
=> _owner.RaisePlaybackMediaMarkerReached(playbackMediaMarker);
void IMediaPlayerEventsExtension.RaiseMediaPlayerRateChanged(double newRate)
=> _owner.RaiseMediaPlayerRateChanged(newRate);
void IMediaPlayerEventsExtension.RaiseSeekCompleted()
=> _owner.RaiseSeekCompleted();
void IMediaPlayerEventsExtension.RaiseSourceChanged()
=> _owner.RaiseSourceChanged();
void IMediaPlayerEventsExtension.RaiseSubtitleFrameChanged()
=> _owner.RaiseSubtitleFrameChanged();
void IMediaPlayerEventsExtension.RaiseVideoFrameAvailable()
=> _owner.RaiseVideoFrameAvailable();
void IMediaPlayerEventsExtension.RaiseVideoRatioChanged(double videoRatio)
=> _owner.RaiseVideoRatioChanged(videoRatio);
void IMediaPlayerEventsExtension.RaiseVolumeChanged()
=> _owner.RaiseVolumeChanged();
}
}
}
#endif
#if __ANDROID__ || __IOS__ || __MACOS__
using System;
using Windows.Foundation;
......@@ -12,10 +10,7 @@ namespace Windows.Media.Playback
private IMediaPlaybackSource _source;
public IMediaPlaybackSource Source
{
get
{
return _source;
}
get => _source;
set
{
Stop();
......@@ -38,10 +33,7 @@ namespace Windows.Media.Playback
private bool _isMuted;
public bool IsMuted
{
get
{
return _isMuted;
}
get => _isMuted;
set
{
_isMuted = value;
......@@ -53,10 +45,7 @@ namespace Windows.Media.Playback
private double _volume = 1d;
public double Volume
{
get
{
return _volume;
}
get => _volume;
set
{
_volume = value;
......@@ -97,4 +86,3 @@ namespace Windows.Media.Playback
}
}
}
#endif
......@@ -345,12 +345,9 @@ namespace Windows.Media.Playback
private void OnMediaFailed(Exception ex = null, string message = null)
{
MediaFailed?.Invoke(this, new MediaPlayerFailedEventArgs()
{
Error = MediaPlayerError.Unknown,
ExtendedErrorCode = ex,
ErrorMessage = message ?? ex?.Message
});
MediaFailed?.Invoke(
this,
new MediaPlayerFailedEventArgs(MediaPlayerError.Unknown, message ?? ex?.Message, ex));
PlaybackSession.PlaybackState = MediaPlaybackState.None;
......
using System;
using System.Collections.Generic;
using System.Text;
namespace Windows.Media.Playback
{
public partial class MediaPlayer
{
public void Stop() { }
}
}
#if !(__ANDROID__ || __IOS__ || __MACOS__)
#nullable enable
using System;
using System.Collections.Generic;
using System.Text;
using Uno.Foundation.Extensibility;
using Uno.Foundation.Logging;
using Windows.Foundation;
using Uno.Media.Playback;
using Windows.ApplicationModel.Email;
namespace Windows.Media.Playback
{
public partial class MediaPlayer
{
private IMediaPlayerExtension? _extension;
public void Initialize()
{
if (!ApiExtensibility.CreateInstance<IMediaPlayerExtension>(this, out _extension))
{
if (this.Log().IsEnabled(LogLevel.Error))
{
this.Log().Error("Unable to create an instance of IMediaPlayerExtension. MediaPlayer will not work.");
}
}
_extension.Events = new MediaPlayerEvents(this);
}
public void Dispose()
=> _extension?.Dispose();
public double PlaybackRate
{
get => _extension?.PlaybackRate ?? 0.0;
set
{
if (_extension is not null)
{
_extension.PlaybackRate = value;
}
}
}
public bool IsLoopingEnabled
{
get => _extension?.IsLoopingEnabled ?? false;
set
{
if (_extension is not null)
{
_extension.IsLoopingEnabled = value;
}
}
}
public MediaPlayerState CurrentState
=> _extension?.CurrentState ?? MediaPlayerState.Closed;
public TimeSpan NaturalDuration
=> _extension?.NaturalDuration ?? TimeSpan.Zero;
public bool IsProtected
=> _extension?.IsProtected ?? false;
public double BufferingProgress
=> _extension?.BufferingProgress ?? 0.0;
public bool CanPause
=> _extension?.CanPause ?? false;
public bool CanSeek
=> _extension?.CanSeek ?? false;
public MediaPlayerAudioDeviceType AudioDeviceType
{
get => _extension?.AudioDeviceType ?? MediaPlayerAudioDeviceType.Multimedia;
set
{
if (_extension is not null)
{
_extension.AudioDeviceType = value;
}
}
}
public MediaPlayerAudioCategory AudioCategory
{
get => _extension?.AudioCategory ?? MediaPlayerAudioCategory.Other;
set
{
if (_extension is not null)
{
_extension.AudioCategory = value;
}
}
}
public TimeSpan TimelineControllerPositionOffset
{
get => _extension?.TimelineControllerPositionOffset ?? TimeSpan.Zero;
set
{
if (_extension is not null)
{
_extension.TimelineControllerPositionOffset = value;
}
}
}
public bool RealTimePlayback
{
get => _extension?.RealTimePlayback ?? false;
set
{
if (_extension is not null)
{
_extension.RealTimePlayback = value;
}
}
}
public double AudioBalance
{
get => _extension?.AudioBalance ?? 0.0;
set
{
if (_extension is not null)
{
_extension.AudioBalance = value;
}
}
}
public TimeSpan Position
{
get => _extension?.Position ?? TimeSpan.Zero;
set
{
if (_extension is not null)
{
_extension.Position = value;
}
}
}
public void SetUriSource(global::System.Uri value)
=> _extension?.SetUriSource(value);
public void SetFileSource(global::Windows.Storage.IStorageFile file)
=> _extension?.SetFileSource(file);
public void SetStreamSource(global::Windows.Storage.Streams.IRandomAccessStream stream)
=> _extension?.SetStreamSource(stream);
public void SetMediaSource(global::Windows.Media.Core.IMediaSource source)
=> _extension?.SetMediaSource(source);
public void StepForwardOneFrame()
=> _extension?.StepForwardOneFrame();
public void StepBackwardOneFrame()
=> _extension?.StepBackwardOneFrame();
public void SetSurfaceSize(global::Windows.Foundation.Size size)
=> _extension?.SetSurfaceSize(size);
public void Play()
=> _extension?.Play();
public void Pause()
=> _extension?.Pause();
public void Stop()
=> _extension?.Stop();
public void InitializeSource()
=> _extension?.InitializeSource();
public void ToggleMute()
=> _extension?.ToggleMute();
public void OnVolumeChanged()
=> _extension?.OnVolumeChanged();
public event TypedEventHandler<MediaPlayer, object> BufferingEnded;
public event TypedEventHandler<MediaPlayer, object> BufferingStarted;
public event TypedEventHandler<MediaPlayer, object> CurrentStateChanged;
public event TypedEventHandler<MediaPlayer, MediaPlayerRateChangedEventArgs> MediaPlayerRateChanged;
public event TypedEventHandler<MediaPlayer, PlaybackMediaMarkerReachedEventArgs> PlaybackMediaMarkerReached;
public event TypedEventHandler<MediaPlayer, object> VideoFrameAvailable;
public event TypedEventHandler<MediaPlayer, object> SubtitleFrameChanged;
}
}
#endif
#if __ANDROID__ || __IOS__ || __MACOS__
using System;
namespace Windows.Media.Playback
namespace Windows.Media.Playback;
public partial class MediaPlayerFailedEventArgs
{
public partial class MediaPlayerFailedEventArgs
internal MediaPlayerFailedEventArgs(MediaPlayerError error, string errorMessage, Exception extendedErrorCode)
{
Error = error;
ErrorMessage = errorMessage;
ExtendedErrorCode = extendedErrorCode;
}
public global::Windows.Media.Playback.MediaPlayerError Error
{
public MediaPlayerError Error { get; internal set; }
get;
}
public string ErrorMessage { get; internal set; }
public string ErrorMessage
{
get;
}
public Exception ExtendedErrorCode { get; internal set; }
public global::System.Exception ExtendedErrorCode
{
get;
}
}
#endif
namespace Windows.Media.Playback;
public partial class MediaPlayerRateChangedEventArgs
{
internal MediaPlayerRateChangedEventArgs(double newRate)
{
NewRate = newRate;
}
public double NewRate
{
get;
}
}
namespace Windows.Media.Playback;
public partial class PlaybackMediaMarkerReachedEventArgs
{
internal PlaybackMediaMarkerReachedEventArgs(PlaybackMediaMarker playbackMediaMarker)
{
PlaybackMediaMarker = playbackMediaMarker;
}
public global::Windows.Media.Playback.PlaybackMediaMarker PlaybackMediaMarker
{
get;
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册