├── icon_MediaManager.png ├── Samples ├── Forms │ ├── iOS │ │ ├── Assets.xcassets │ │ │ └── Contents.json │ │ ├── packages.config │ │ ├── Entitlements.plist │ │ ├── AppDelegate.cs │ │ ├── Main.cs │ │ └── MediaFormsApplication.cs │ ├── Droid │ │ ├── Resources │ │ │ ├── drawable │ │ │ │ └── icon.png │ │ │ ├── drawable-hdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xhdpi │ │ │ │ └── icon.png │ │ │ ├── drawable-xxhdpi │ │ │ │ └── icon.png │ │ │ └── layout │ │ │ │ ├── Toolbar.axml │ │ │ │ └── Tabbar.axml │ │ ├── Properties │ │ │ └── AndroidManifest.xml │ │ ├── Assets │ │ │ └── AboutAssets.txt │ │ └── MainActivity.cs │ ├── MediaForms.Tizen │ │ ├── shared │ │ │ └── res │ │ │ │ └── icon.png │ │ ├── App.cs │ │ ├── MediaForms.Tizen.csproj │ │ └── tizen-manifest.xml │ ├── MediaForms.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── App.xaml │ │ ├── project.json │ │ ├── MainPage.xaml.cs │ │ └── MainPage.xaml │ └── MediaForms │ │ ├── packages.config │ │ ├── App.xaml │ │ └── App.xaml.cs ├── Simple │ ├── MediaSample.iOS │ │ ├── Assets.xcassets │ │ │ └── Contents.json │ │ ├── Resources │ │ │ ├── btn_pause_active.png │ │ │ ├── btn_pause_static.png │ │ │ ├── btn_play_active.png │ │ │ ├── btn_play_static.png │ │ │ ├── icon_next_static.png │ │ │ ├── icon_prev_active.png │ │ │ ├── icon_prev_static.png │ │ │ ├── loading_spinner.png │ │ │ ├── btn_play_active@2x.png │ │ │ ├── btn_play_active@3x.png │ │ │ ├── btn_play_static@2x.png │ │ │ ├── btn_play_static@3x.png │ │ │ ├── icon_next_inactive.png │ │ │ ├── icon_prev_inactive.png │ │ │ ├── icon_repeat_active.png │ │ │ ├── icon_repeat_static.png │ │ │ ├── loading_spinner@2x.png │ │ │ ├── loading_spinner@3x.png │ │ │ ├── btn_pause_active@2x.png │ │ │ ├── btn_pause_active@3x.png │ │ │ ├── btn_pause_static@2x.png │ │ │ ├── btn_pause_static@3x.png │ │ │ ├── icon_next_inactive 2.png │ │ │ ├── icon_next_inactive@2x.png │ │ │ ├── icon_next_inactive@3x.png │ │ │ ├── icon_next_static@2x.png │ │ │ ├── icon_next_static@3x.png │ │ │ ├── icon_prev_active@2x.png │ │ │ ├── icon_prev_active@3x.png │ │ │ ├── icon_prev_inactive@2x.png │ │ │ ├── icon_prev_inactive@3x.png │ │ │ ├── icon_prev_static@2x.png │ │ │ ├── icon_prev_static@3x.png │ │ │ ├── icon_repeat_active@2x.png │ │ │ ├── icon_repeat_active@3x.png │ │ │ ├── icon_repeat_static@2x.png │ │ │ ├── icon_repeat_static@3x.png │ │ │ ├── icon_shuffle_active.png │ │ │ ├── icon_shuffle_static.png │ │ │ ├── icon_next_inactive 2@2x.png │ │ │ ├── icon_next_inactive 2@3x.png │ │ │ ├── icon_repeat_one_active.png │ │ │ ├── icon_shuffle_active@2x.png │ │ │ ├── icon_shuffle_active@3x.png │ │ │ ├── icon_shuffle_static@2x.png │ │ │ ├── icon_shuffle_static@3x.png │ │ │ ├── icon_repeat_one_active@2x.png │ │ │ └── icon_repeat_one_active@3x.png │ │ ├── Entitlements.plist │ │ ├── Main.cs │ │ └── SampleApplication.cs │ ├── MediaSample.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── ApplicationInsights.config │ │ ├── App.xaml │ │ └── project.json │ ├── MediaSample.Core │ │ ├── Media │ │ │ └── local-sample.mp3 │ │ └── MediaSample.Core.csproj │ └── MediaSample.Droid │ │ ├── Resources │ │ ├── drawable │ │ │ ├── album_art.jpg │ │ │ ├── button_play.xml │ │ │ ├── button_pause.xml │ │ │ ├── toggle_repeat_active.xml │ │ │ ├── toggle_shuffle_active.xml │ │ │ ├── toggle_repeat_static.xml │ │ │ ├── toggle_shuffle_static.xml │ │ │ ├── togglebutton_playpause.xml │ │ │ ├── button_shuffleplay.xml │ │ │ ├── toggle_repeat.xml │ │ │ ├── toggle_shuffle.xml │ │ │ ├── seekbar_control.xml │ │ │ ├── button_next.xml │ │ │ ├── button_option.xml │ │ │ ├── button_resume.xml │ │ │ ├── button_previous.xml │ │ │ └── seekbar_progress.xml │ │ ├── drawable-hdpi │ │ │ ├── icon_play.png │ │ │ ├── btn_play_active.png │ │ │ ├── btn_play_static.png │ │ │ ├── seekbar_default.png │ │ │ ├── seekbar_focused.png │ │ │ ├── seekbar_pressed.png │ │ │ ├── btn_pause_active.png │ │ │ ├── btn_pause_static.png │ │ │ ├── icon_next_active.png │ │ │ ├── icon_next_static.png │ │ │ ├── icon_prev_active.png │ │ │ ├── icon_prev_static.png │ │ │ ├── seekbar_disabled.png │ │ │ ├── seekbar_primary.9.png │ │ │ ├── icon_options_active.png │ │ │ ├── icon_options_static.png │ │ │ ├── icon_repeat_active.png │ │ │ ├── icon_repeat_static.png │ │ │ ├── icon_shuffle_active.png │ │ │ ├── icon_shuffle_static.png │ │ │ ├── seekbar_background.9.png │ │ │ └── seekbar_secondary.9.png │ │ ├── drawable-mdpi │ │ │ ├── icon_play.png │ │ │ ├── btn_play_active.png │ │ │ ├── btn_play_static.png │ │ │ ├── seekbar_default.png │ │ │ ├── seekbar_focused.png │ │ │ ├── seekbar_pressed.png │ │ │ ├── btn_pause_active.png │ │ │ ├── btn_pause_static.png │ │ │ ├── icon_next_active.png │ │ │ ├── icon_next_static.png │ │ │ ├── icon_prev_active.png │ │ │ ├── icon_prev_static.png │ │ │ ├── seekbar_disabled.png │ │ │ ├── seekbar_primary.9.png │ │ │ ├── icon_options_active.png │ │ │ ├── icon_options_static.png │ │ │ ├── icon_repeat_active.png │ │ │ ├── icon_repeat_static.png │ │ │ ├── icon_shuffle_active.png │ │ │ ├── icon_shuffle_static.png │ │ │ ├── seekbar_background.9.png │ │ │ └── seekbar_secondary.9.png │ │ ├── drawable-xhdpi │ │ │ ├── icon_play.png │ │ │ ├── btn_pause_active.png │ │ │ ├── btn_pause_static.png │ │ │ ├── btn_play_active.png │ │ │ ├── btn_play_static.png │ │ │ ├── icon_next_active.png │ │ │ ├── icon_next_static.png │ │ │ ├── icon_prev_static.png │ │ │ ├── seekbar_default.png │ │ │ ├── seekbar_disabled.png │ │ │ ├── seekbar_focused.png │ │ │ ├── seekbar_pressed.png │ │ │ ├── icon_options_active.png │ │ │ ├── icon_options_static.png │ │ │ ├── icon_prev_inactive.png │ │ │ ├── icon_repeat_active.png │ │ │ ├── icon_repeat_static.png │ │ │ ├── icon_shuffle_active.png │ │ │ ├── icon_shuffle_static.png │ │ │ ├── seekbar_primary.9.png │ │ │ ├── seekbar_secondary.9.png │ │ │ └── seekbar_background.9.png │ │ ├── drawable-xxhdpi │ │ │ ├── btn_play_active.png │ │ │ ├── btn_play_static.png │ │ │ ├── seekbar_default.png │ │ │ ├── seekbar_focused.png │ │ │ ├── seekbar_pressed.png │ │ │ ├── btn_pause_active.png │ │ │ ├── btn_pause_static.png │ │ │ ├── icon_next_active.png │ │ │ ├── icon_next_static.png │ │ │ ├── icon_prev_active.png │ │ │ ├── icon_prev_static.png │ │ │ ├── icon_repeat_active.png │ │ │ ├── icon_repeat_static.png │ │ │ ├── seekbar_disabled.png │ │ │ ├── seekbar_primary.9.png │ │ │ ├── icon_options_active.png │ │ │ ├── icon_options_static.png │ │ │ ├── icon_shuffle_active.png │ │ │ ├── icon_shuffle_static.png │ │ │ ├── seekbar_background.9.png │ │ │ └── seekbar_secondary.9.png │ │ ├── values-v21 │ │ │ └── Styles.xml │ │ └── values │ │ │ ├── Strings.xml │ │ │ └── Colors.xml │ │ ├── Assets │ │ └── AboutAssets.txt │ │ └── Properties │ │ └── AndroidManifest.xml ├── Video │ └── VideoSample.iOS │ │ ├── Assets.xcassets │ │ └── Contents.json │ │ ├── Entitlements.plist │ │ └── Main.cs ├── MvvmCross │ ├── MyMediaPlayer.iOS │ │ ├── Assets.xcassets │ │ │ └── Contents.json │ │ ├── Entitlements.plist │ │ ├── Bootstrap │ │ │ ├── JsonPluginBootstrap.cs │ │ │ ├── JsonLocalizationPluginBootstrap.cs │ │ │ ├── FilePluginBootstrap.cs │ │ │ ├── VisibilityPluginBootstrap.cs │ │ │ └── ResourceLoaderPluginBootstrap.cs │ │ ├── Main.cs │ │ ├── ViewController.designer.cs │ │ ├── Views │ │ │ ├── HomeViewController.designer.cs │ │ │ └── HomeViewController.cs │ │ ├── ViewController.cs │ │ └── Setup.cs │ ├── MyMediaPlayer.tvOS │ │ ├── Assets.xcassets │ │ │ ├── Contents.json │ │ │ └── App Icon & Top Shelf Image.brandassets │ │ │ │ ├── App Icon - Large.imagestack │ │ │ │ ├── Back.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ ├── Front.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ ├── Middle.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ │ ├── App Icon - Small.imagestack │ │ │ │ ├── Back.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ ├── Front.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ ├── Middle.imagestacklayer │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ ├── Entitlements.plist │ │ ├── packages.config │ │ ├── ViewModels │ │ │ └── FirstViewModel.cs │ │ ├── Main.cs │ │ ├── App.cs │ │ ├── ViewController.designer.cs │ │ └── ViewController.cs │ ├── MyMediaPlayer.MacOS │ │ ├── Assets.xcassets │ │ │ ├── Contents.json │ │ │ └── AppIcon.appiconset │ │ │ │ ├── AppIcon-128.png │ │ │ │ ├── AppIcon-16.png │ │ │ │ ├── AppIcon-256.png │ │ │ │ ├── AppIcon-32.png │ │ │ │ ├── AppIcon-512.png │ │ │ │ ├── AppIcon-128@2x.png │ │ │ │ ├── AppIcon-16@2x.png │ │ │ │ ├── AppIcon-256@2x.png │ │ │ │ ├── AppIcon-32@2x.png │ │ │ │ └── AppIcon-512@2x.png │ │ ├── Entitlements.plist │ │ ├── Main.cs │ │ ├── Setup.cs │ │ ├── Views │ │ │ └── FirstView.cs │ │ └── AppDelegate.cs │ ├── MyMediaPlayer.UWP │ │ ├── Assets │ │ │ ├── StoreLogo.png │ │ │ ├── LockScreenLogo.scale-200.png │ │ │ ├── SplashScreen.scale-200.png │ │ │ ├── Square44x44Logo.scale-200.png │ │ │ ├── Wide310x150Logo.scale-200.png │ │ │ ├── Square150x150Logo.scale-200.png │ │ │ └── Square44x44Logo.targetsize-24_altform-unplated.png │ │ ├── App.xaml │ │ ├── project.json │ │ ├── MainPage.xaml │ │ └── MainPage.xaml.cs │ ├── MyMediaPlayer.Droid │ │ ├── Resources │ │ │ ├── drawable │ │ │ │ ├── splash.png │ │ │ │ ├── album_art.jpg │ │ │ │ ├── button_play.xml │ │ │ │ ├── button_pause.xml │ │ │ │ ├── toggle_repeat_active.xml │ │ │ │ ├── toggle_repeat_static.xml │ │ │ │ ├── toggle_shuffle_active.xml │ │ │ │ ├── toggle_shuffle_static.xml │ │ │ │ ├── togglebutton_playpause.xml │ │ │ │ ├── button_shuffleplay.xml │ │ │ │ ├── toggle_repeat.xml │ │ │ │ ├── toggle_shuffle.xml │ │ │ │ ├── seekbar_control.xml │ │ │ │ ├── button_next.xml │ │ │ │ ├── button_option.xml │ │ │ │ ├── button_resume.xml │ │ │ │ ├── button_previous.xml │ │ │ │ └── seekbar_progress.xml │ │ │ ├── mipmap-hdpi │ │ │ │ └── Icon.png │ │ │ ├── mipmap-mdpi │ │ │ │ └── Icon.png │ │ │ ├── mipmap-xhdpi │ │ │ │ └── Icon.png │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── Icon.png │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── Icon.png │ │ │ ├── drawable-hdpi │ │ │ │ ├── icon_play.png │ │ │ │ ├── btn_play_active.png │ │ │ │ ├── btn_play_static.png │ │ │ │ ├── seekbar_default.png │ │ │ │ ├── seekbar_focused.png │ │ │ │ ├── seekbar_pressed.png │ │ │ │ ├── btn_pause_active.png │ │ │ │ ├── btn_pause_static.png │ │ │ │ ├── icon_next_active.png │ │ │ │ ├── icon_next_static.png │ │ │ │ ├── icon_prev_active.png │ │ │ │ ├── icon_prev_static.png │ │ │ │ ├── seekbar_disabled.png │ │ │ │ ├── seekbar_primary.9.png │ │ │ │ ├── icon_options_active.png │ │ │ │ ├── icon_options_static.png │ │ │ │ ├── icon_repeat_active.png │ │ │ │ ├── icon_repeat_static.png │ │ │ │ ├── icon_shuffle_active.png │ │ │ │ ├── icon_shuffle_static.png │ │ │ │ ├── seekbar_background.9.png │ │ │ │ └── seekbar_secondary.9.png │ │ │ ├── drawable-mdpi │ │ │ │ ├── icon_play.png │ │ │ │ ├── btn_play_active.png │ │ │ │ ├── btn_play_static.png │ │ │ │ ├── seekbar_default.png │ │ │ │ ├── seekbar_focused.png │ │ │ │ ├── seekbar_pressed.png │ │ │ │ ├── btn_pause_active.png │ │ │ │ ├── btn_pause_static.png │ │ │ │ ├── icon_next_active.png │ │ │ │ ├── icon_next_static.png │ │ │ │ ├── icon_prev_active.png │ │ │ │ ├── icon_prev_static.png │ │ │ │ ├── seekbar_disabled.png │ │ │ │ ├── seekbar_primary.9.png │ │ │ │ ├── icon_options_active.png │ │ │ │ ├── icon_options_static.png │ │ │ │ ├── icon_repeat_active.png │ │ │ │ ├── icon_repeat_static.png │ │ │ │ ├── icon_shuffle_active.png │ │ │ │ ├── icon_shuffle_static.png │ │ │ │ ├── seekbar_background.9.png │ │ │ │ └── seekbar_secondary.9.png │ │ │ ├── drawable-xhdpi │ │ │ │ ├── icon_play.png │ │ │ │ ├── btn_pause_active.png │ │ │ │ ├── btn_pause_static.png │ │ │ │ ├── btn_play_active.png │ │ │ │ ├── btn_play_static.png │ │ │ │ ├── icon_next_active.png │ │ │ │ ├── icon_next_static.png │ │ │ │ ├── icon_prev_static.png │ │ │ │ ├── seekbar_default.png │ │ │ │ ├── seekbar_disabled.png │ │ │ │ ├── seekbar_focused.png │ │ │ │ ├── seekbar_pressed.png │ │ │ │ ├── icon_options_active.png │ │ │ │ ├── icon_options_static.png │ │ │ │ ├── icon_prev_inactive.png │ │ │ │ ├── icon_repeat_active.png │ │ │ │ ├── icon_repeat_static.png │ │ │ │ ├── icon_shuffle_active.png │ │ │ │ ├── icon_shuffle_static.png │ │ │ │ ├── seekbar_primary.9.png │ │ │ │ ├── seekbar_secondary.9.png │ │ │ │ └── seekbar_background.9.png │ │ │ ├── drawable-xxhdpi │ │ │ │ ├── btn_play_active.png │ │ │ │ ├── btn_play_static.png │ │ │ │ ├── seekbar_default.png │ │ │ │ ├── seekbar_focused.png │ │ │ │ ├── seekbar_pressed.png │ │ │ │ ├── btn_pause_active.png │ │ │ │ ├── btn_pause_static.png │ │ │ │ ├── icon_next_active.png │ │ │ │ ├── icon_next_static.png │ │ │ │ ├── icon_prev_active.png │ │ │ │ ├── icon_prev_static.png │ │ │ │ ├── icon_repeat_active.png │ │ │ │ ├── icon_repeat_static.png │ │ │ │ ├── seekbar_disabled.png │ │ │ │ ├── seekbar_primary.9.png │ │ │ │ ├── icon_options_active.png │ │ │ │ ├── icon_options_static.png │ │ │ │ ├── icon_shuffle_active.png │ │ │ │ ├── icon_shuffle_static.png │ │ │ │ ├── seekbar_background.9.png │ │ │ │ └── seekbar_secondary.9.png │ │ │ ├── values │ │ │ │ ├── Strings.xml │ │ │ │ └── colors.xml │ │ │ └── layout │ │ │ │ ├── fragment_audioplayer.axml │ │ │ │ ├── SplashScreen.axml │ │ │ │ └── toolbar_layout.axml │ │ ├── Bootstrap │ │ │ ├── JsonPluginBootstrap.cs │ │ │ ├── VisibilityPluginBootstrap.cs │ │ │ ├── ResourceLoaderPluginBootstrap.cs │ │ │ └── JsonLocalizationPluginBootstrap.cs │ │ ├── Properties │ │ │ └── AndroidManifest.xml │ │ ├── Fragments │ │ │ ├── SearchFragment.cs │ │ │ ├── AudioPlayerFragment.cs │ │ │ └── HomeFragment.cs │ │ ├── SplashScreen.cs │ │ └── Assets │ │ │ └── AboutAssets.txt │ └── MyMediaPlayer.Core │ │ ├── ViewModels │ │ ├── MainViewModel.cs │ │ ├── AlbumViewModel.cs │ │ ├── QueueViewModel.cs │ │ ├── AlbumsViewModel.cs │ │ ├── ArtistViewModel.cs │ │ ├── ArtistsViewModel.cs │ │ ├── BrowseViewModel.cs │ │ ├── SearchViewModel.cs │ │ ├── PlaylistViewModel.cs │ │ ├── PlaylistsViewModel.cs │ │ ├── SettingsViewModel.cs │ │ ├── AudioPlayerViewModel.cs │ │ ├── VideoPlayerViewModel.cs │ │ └── HomeViewModel.cs │ │ ├── AppStart.cs │ │ ├── App.cs │ │ └── packages.config └── Directory.build.props ├── tools └── packages.config ├── MediaManager.UWP.Tests ├── Assets │ ├── StoreLogo.png │ ├── SplashScreen.scale-200.png │ ├── LockScreenLogo.scale-200.png │ ├── Square150x150Logo.scale-200.png │ ├── Square44x44Logo.scale-200.png │ ├── Wide310x150Logo.scale-200.png │ └── Square44x44Logo.targetsize-24_altform-unplated.png ├── UnitTestApp.xaml └── Unit │ └── PlaybackControllerProviderMock.cs ├── MediaManager ├── Audio │ └── IAudioPlayer.cs ├── Enums │ ├── MediaFileType.cs │ ├── ResourceAvailability.cs │ ├── VideoAspectMode.cs │ ├── RepeatType.cs │ └── MediaPlayerStatus.cs ├── Platforms │ ├── Macos │ │ ├── MediaManagerImplementation.cs │ │ ├── IVersionHelper.cs │ │ ├── IMediaRemoteControl.cs │ │ ├── VideoSurface.cs │ │ ├── VersionHelper.cs │ │ └── RemoteControlNotificationManager.cs │ ├── Ios │ │ ├── IVersionHelper.cs │ │ ├── IMediaRemoteControl.cs │ │ ├── VersionHelper.cs │ │ ├── MediaManagerImplementation.cs │ │ ├── VideoSurface.cs │ │ └── RemoteControlNotificationManager.cs │ ├── Tvos │ │ ├── IVersionHelper.cs │ │ ├── IMediaRemoteControl.cs │ │ ├── MediaManagerImplementation.cs │ │ ├── VideoSurface.cs │ │ ├── VersionHelper.cs │ │ └── RemoteControlNotificationManager.cs │ ├── Uap │ │ ├── IPlaybackControllerProvider.cs │ │ ├── SystemWrappers │ │ │ ├── ISystemMediaTransportControlsButtonPressedEventArgsWrapper.cs │ │ │ ├── SystemMediaTransportControlsButtonPressedEventArgsWrapper.cs │ │ │ └── ISystemMediaTransportControlsWrapper.cs │ │ └── VolumeManagerImplementation.cs │ ├── Android │ │ ├── Audio │ │ │ ├── AudioPlayerImplementation.cs │ │ │ └── AudioPlayerBroadcastReceiver.cs │ │ ├── MediaPlayerService │ │ │ ├── MediaPlayerServiceBinder.cs │ │ │ ├── MediaServiceBinder.cs │ │ │ └── MediaPlayerServiceConnection.cs │ │ └── IAndroidMediaNotificationManager.cs │ └── Tizen │ │ └── AudioPlayerImplementation.cs ├── EventArguments │ ├── QueueEndedEventArgs.cs │ ├── MediaFinishedEventArgs.cs │ ├── MediaFileChangedEventArgs.cs │ ├── QueueMediaChangedEventArgs.cs │ ├── MetadataChangedEventArgs.cs │ ├── StatusChangedEventArgs.cs │ ├── VolumeChangedEventArgs.cs │ ├── MediaFileFailedEventArgs.cs │ ├── MediaFailedEventArgs.cs │ ├── BufferingChangedEventArgs.cs │ └── PlayingChangedEventArgs.cs ├── Video │ └── IVideoSurface.cs ├── Media │ └── IMediaExtractor.cs ├── Helpers.cs ├── IMediaNotificationManager.cs └── IVolumeManager.cs ├── nuget.config ├── MediaManager.ExoPlayer ├── ExoPlayerVideoImplementation.cs ├── ExoPlayerAudioImplementation.cs └── MediaManager.ExoPlayer.csproj ├── MediaManager.Tests ├── packages.config ├── MediaFile.cs └── MediaManager.Tests.csproj ├── ISSUE_TEMPLATE.md ├── .github ├── PULL_REQUEST_TEMPLATE.md └── ISSUE_TEMPLATE.md ├── readme.txt ├── .gitattributes └── MediaManager.Reactive └── MediaManager.Reactive.csproj /icon_MediaManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/icon_MediaManager.png -------------------------------------------------------------------------------- /Samples/Forms/iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/Video/VideoSample.iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /tools/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.Tizen/shared/res/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.Tizen/shared/res/icon.png -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /MediaManager/Audio/IAudioPlayer.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions 2 | { 3 | public interface IAudioPlayer : IPlaybackManager 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/StoreLogo.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Core/Media/local-sample.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Core/Media/local-sample.mp3 -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/loading_spinner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/loading_spinner.png -------------------------------------------------------------------------------- /MediaManager/Enums/MediaFileType.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions.Enums 2 | { 3 | public enum MediaFileType 4 | { 5 | Audio, 6 | Video 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Samples/Forms/iOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_active@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_play_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_play_static@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/loading_spinner@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/loading_spinner@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/loading_spinner@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/loading_spinner@3x.png -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/MediaManagerImplementation.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager 2 | { 3 | public class MediaManagerImplementation : MediaManagerAppleBase 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/album_art.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable/album_art.jpg -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_active@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/btn_pause_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/btn_pause_static@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_static@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_active@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_inactive@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_prev_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_prev_static@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_active@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_static@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/splash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/splash.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-hdpi/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-hdpi/Icon.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-mdpi/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-mdpi/Icon.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_next_inactive 2@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_active@3x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_shuffle_static@3x.png -------------------------------------------------------------------------------- /nuget.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MediaManager/Enums/ResourceAvailability.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions.Enums 2 | { 3 | public enum ResourceAvailability 4 | { 5 | Remote, 6 | Local 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/album_art.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/album_art.jpg -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xhdpi/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xhdpi/Icon.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xxhdpi/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xxhdpi/Icon.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xxxhdpi/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/mipmap-xxxhdpi/Icon.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/LockScreenLogo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/LockScreenLogo.scale-200.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/SplashScreen.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/SplashScreen.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active@2x.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.iOS/Resources/icon_repeat_one_active@3x.png -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/IVersionHelper.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager 2 | { 3 | public interface IVersionHelper 4 | { 5 | bool SupportsAutomaticWaitPlayerProperty { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/IVersionHelper.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager 2 | { 3 | public interface IVersionHelper 4 | { 5 | bool SupportsAutomaticWaitPlayerProperty { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square44x44Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square44x44Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Wide310x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Wide310x150Logo.scale-200.png -------------------------------------------------------------------------------- /MediaManager/Enums/VideoAspectMode.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions.Enums 2 | { 3 | public enum VideoAspectMode 4 | { 5 | None, 6 | AspectFit, 7 | AspectFill 8 | } 9 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/IVersionHelper.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager 2 | { 3 | public interface IVersionHelper 4 | { 5 | bool SupportsAutomaticWaitPlayerProperty { get; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_play.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square150x150Logo.scale-200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square150x150Logo.scale-200.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /MediaManager/Enums/RepeatType.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions.Enums 2 | { 3 | public enum RepeatType 4 | { 5 | None, 6 | RepeatOne, 7 | RepeatAll 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/QueueEndedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class QueueEndedEventArgs : EventArgs 6 | { 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/MediaManager.UWP.Tests/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-hdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-mdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_prev_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_prev_inactive.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/ApplicationInsights.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_play_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_play_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_play_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_play_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_default.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_focused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_focused.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_pressed.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xhdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.Droid/Resources/drawable-xxhdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/IMediaRemoteControl.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public interface IMediaRemoteControl 6 | { 7 | void RemoteControlReceived(UIEvent uiEvent); 8 | } 9 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/IMediaRemoteControl.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public interface IMediaRemoteControl 6 | { 7 | void RemoteControlReceived(UIEvent uiEvent); 8 | } 9 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/IMediaRemoteControl.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public interface IMediaRemoteControl 6 | { 7 | void RemoteControlReceived(UIEvent uiEvent); 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Forms/MediaForms.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-hdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-mdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_prev_inactive.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_prev_inactive.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_pause_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_pause_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_pause_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/btn_pause_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_next_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_next_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_next_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_next_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_prev_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_prev_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_prev_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_prev_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_repeat_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_repeat_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_repeat_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_repeat_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_disabled.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_primary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_primary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Back.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Front.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Middle.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Back.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Front.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Middle.imagestacklayer/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /MediaManager.ExoPlayer/ExoPlayerVideoImplementation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace Plugin.MediaManager.ExoPlayer 3 | { 4 | public class ExoPlayerVideoImplementation : VideoPlayerImplementation 5 | { 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xhdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_options_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_options_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_options_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_options_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_shuffle_active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_shuffle_active.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_shuffle_static.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/icon_shuffle_static.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_background.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_background.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_secondary.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable-xxhdpi/seekbar_secondary.9.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512.png -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/Simple/MediaSample.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-128@2x.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-16@2x.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-256@2x.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-32@2x.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.MacOS/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png -------------------------------------------------------------------------------- /Samples/Forms/iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/speaker/XamarinMediaManager/develop/Samples/MvvmCross/MyMediaPlayer.UWP/Assets/Square44x44Logo.targetsize-24_altform-unplated.png -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | MyMediaPlayer.Droid 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Samples/Video/VideoSample.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Uap/IPlaybackControllerProvider.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | internal interface IPlaybackControllerProvider 6 | { 7 | IPlaybackController PlaybackController { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class MainViewModel : BaseViewModel 5 | { 6 | public MainViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/AlbumViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class AlbumViewModel : BaseViewModel 5 | { 6 | public AlbumViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/QueueViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class QueueViewModel : BaseViewModel 5 | { 6 | public QueueViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/AlbumsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class AlbumsViewModel : BaseViewModel 5 | { 6 | public AlbumsViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/ArtistViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class ArtistViewModel : BaseViewModel 5 | { 6 | public ArtistViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/ArtistsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class ArtistsViewModel : BaseViewModel 5 | { 6 | public ArtistsViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/BrowseViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class BrowseViewModel : BaseViewModel 5 | { 6 | public BrowseViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/SearchViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class SearchViewModel : BaseViewModel 5 | { 6 | public SearchViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MediaManager/Video/IVideoSurface.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions 2 | { 3 | /// 4 | /// Used to pass through the native view 5 | /// 6 | public interface IVideoSurface 7 | { 8 | bool IsDisposed { get; } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/PlaylistViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class PlaylistViewModel : BaseViewModel 5 | { 6 | public PlaylistViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/PlaylistsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class PlaylistsViewModel : BaseViewModel 5 | { 6 | public PlaylistsViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/SettingsViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class SettingsViewModel : BaseViewModel 5 | { 6 | public SettingsViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Bootstrap/JsonPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.iOS.Bootstrap 4 | { 5 | public class JsonPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Bootstrap/JsonPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.Droid.Bootstrap 4 | { 5 | public class JsonPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /MediaManager/Enums/MediaPlayerStatus.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager.Abstractions.Enums 2 | { 3 | public enum MediaPlayerStatus 4 | { 5 | Stopped, 6 | Paused, 7 | Playing, 8 | Loading, 9 | Buffering, 10 | Failed 11 | } 12 | } 13 | 14 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/VersionHelper.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class VersionHelper : IVersionHelper 6 | { 7 | public bool SupportsAutomaticWaitPlayerProperty => UIDevice.CurrentDevice.CheckSystemVersion(10, 0); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/AudioPlayerViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class AudioPlayerViewModel : BaseViewModel 5 | { 6 | public AudioPlayerViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/VideoPlayerViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class VideoPlayerViewModel : BaseViewModel 5 | { 6 | public VideoPlayerViewModel() 7 | { 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MediaManager.Tests/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_play.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Bootstrap/VisibilityPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.Droid.Bootstrap 4 | { 5 | public class VisibilityPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_play.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_pause.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_pause.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Bootstrap/ResourceLoaderPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.Droid.Bootstrap 4 | { 5 | public class ResourceLoaderPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Main.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | 3 | namespace MyMediaPlayer.MacOS 4 | { 5 | static class MainClass 6 | { 7 | static void Main(string[] args) 8 | { 9 | NSApplication.Init(); 10 | NSApplication.Main(args); 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Bootstrap/JsonLocalizationPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.iOS.Bootstrap 4 | { 5 | public class JsonLocalizationPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Bootstrap/JsonLocalizationPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.Droid.Bootstrap 4 | { 5 | public class JsonLocalizationPluginBootstrap 6 | : MvxPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Bootstrap/FilePluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.iOS.Bootstrap 4 | { 5 | public class FilePluginBootstrap 6 | : MvxLoaderPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/ViewModels/HomeViewModel.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | namespace MyMediaPlayer.Core.ViewModels 3 | { 4 | public class HomeViewModel : BaseViewModel 5 | { 6 | public override string Title => "Home"; 7 | 8 | public HomeViewModel() 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/App.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms/App.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Uap/SystemWrappers/ISystemMediaTransportControlsButtonPressedEventArgsWrapper.cs: -------------------------------------------------------------------------------- 1 | using Windows.Media; 2 | 3 | namespace Plugin.MediaManager.SystemWrappers 4 | { 5 | internal interface ISystemMediaTransportControlsButtonPressedEventArgsWrapper 6 | { 7 | SystemMediaTransportControlsButton Button { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/UnitTestApp.xaml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Bootstrap/VisibilityPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.iOS.Bootstrap 4 | { 5 | public class VisibilityPluginBootstrap 6 | : MvxLoaderPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Bootstrap/ResourceLoaderPluginBootstrap.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.Plugins; 2 | 3 | namespace MyMediaPlayer.iOS.Bootstrap 4 | { 5 | public class ResourceLoaderPluginBootstrap 6 | : MvxLoaderPluginBootstrapAction 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_repeat_active.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_repeat_static.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_shuffle_active.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_shuffle_static.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_repeat_active.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_shuffle_active.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_repeat_static.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_shuffle_static.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Samples/Forms/Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/values-v21/Styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/MediaFinishedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class MediaFinishedEventArgs : EventArgs 6 | { 7 | public MediaFinishedEventArgs(IMediaFile file) 8 | { 9 | File = file; 10 | } 11 | 12 | public IMediaFile File { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MediaManager.ExoPlayer/ExoPlayerAudioImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.MediaSession; 2 | 3 | namespace Plugin.MediaManager.ExoPlayer 4 | { 5 | public class ExoPlayerAudioImplementation : AudioPlayerBase 6 | { 7 | public ExoPlayerAudioImplementation(MediaSessionManager sessionManager) : base(sessionManager) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/MediaFileChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class MediaFileChangedEventArgs : EventArgs 6 | { 7 | public MediaFileChangedEventArgs(IMediaFile file) 8 | { 9 | File = file; 10 | } 11 | 12 | public IMediaFile File { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/Audio/AudioPlayerImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.MediaSession; 2 | 3 | namespace Plugin.MediaManager.Audio 4 | { 5 | public class AudioPlayerImplementation : AudioPlayerBase 6 | { 7 | public AudioPlayerImplementation(MediaSessionManager sessionManager) : base(sessionManager) 8 | { 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/QueueMediaChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class QueueMediaChangedEventArgs : EventArgs 6 | { 7 | public QueueMediaChangedEventArgs(IMediaFile file) 8 | { 9 | File = file; 10 | } 11 | 12 | public IMediaFile File { get; set; } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/AppStart.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using MvvmCross.Core.ViewModels; 3 | using MyMediaPlayer.Core.ViewModels; 4 | 5 | namespace MyMediaPlayer.Core 6 | { 7 | public class AppStart : MvxNavigatingObject, IMvxAppStart 8 | { 9 | public void Start(object hint = null) 10 | { 11 | ShowViewModel(); 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Tizen/AudioPlayerImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class AudioPlayerImplementation : MediaPlayerBase, IAudioPlayer 6 | { 7 | public AudioPlayerImplementation(IVolumeManager volumeManager, IMediaExtractor mediaExtractor) : base(volumeManager, mediaExtractor) 8 | { 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/togglebutton_playpause.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/MetadataChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class MetadataChangedEventArgs : EventArgs 6 | { 7 | public MetadataChangedEventArgs(IMediaFileMetadata metaData) 8 | { 9 | MetaData = metaData; 10 | } 11 | 12 | public IMediaFileMetadata MetaData { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.3", 4 | "Xamarin.Forms": "2.3.4.247" 5 | }, 6 | "frameworks": { 7 | "uap10.0": {} 8 | }, 9 | "runtimes": { 10 | "win10-arm": {}, 11 | "win10-arm-aot": {}, 12 | "win10-x86": {}, 13 | "win10-x86-aot": {}, 14 | "win10-x64": {}, 15 | "win10-x64-aot": {} 16 | } 17 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/togglebutton_playpause.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/values/Strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello World, Click Me! 4 | MediaManager 5 | Play 6 | Pause 7 | Stop 8 | Enter mp3 url 9 | 10 | -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/layout/Toolbar.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/layout/fragment_audioplayer.axml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_shuffleplay.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_repeat.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/toggle_shuffle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_shuffleplay.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_repeat.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/toggle_shuffle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Large.imagestack/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers" : [ 3 | { 4 | "filename" : "Front.imagestacklayer" 5 | }, 6 | { 7 | "filename" : "Middle.imagestacklayer" 8 | }, 9 | { 10 | "filename" : "Back.imagestacklayer" 11 | } 12 | ], 13 | "info" : { 14 | "version" : 1, 15 | "author" : "xcode" 16 | } 17 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - Small.imagestack/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "layers" : [ 3 | { 4 | "filename" : "Front.imagestacklayer" 5 | }, 6 | { 7 | "filename" : "Middle.imagestacklayer" 8 | }, 9 | { 10 | "filename" : "Back.imagestacklayer" 11 | } 12 | ], 13 | "info" : { 14 | "version" : 1, 15 | "author" : "xcode" 16 | } 17 | } -------------------------------------------------------------------------------- /MediaManager/EventArguments/StatusChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Plugin.MediaManager.Abstractions.Enums; 3 | 4 | namespace Plugin.MediaManager.Abstractions.EventArguments 5 | { 6 | public class StatusChangedEventArgs : EventArgs 7 | { 8 | public StatusChangedEventArgs(MediaPlayerStatus status) 9 | { 10 | Status = status; 11 | } 12 | public MediaPlayerStatus Status { get; } 13 | } 14 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /MediaManager/Media/IMediaExtractor.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Plugin.MediaManager.Abstractions 4 | { 5 | public interface IMediaExtractor 6 | { 7 | /// 8 | /// Returns the same file with the extracted media information 9 | /// 10 | /// The media file 11 | Task ExtractMediaInfo(IMediaFile mediaFile); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/MediaManagerImplementation.cs: -------------------------------------------------------------------------------- 1 | namespace Plugin.MediaManager 2 | { 3 | public class MediaManagerImplementation : MediaManagerAppleBase 4 | { 5 | /// 6 | /// Default implementation for IMediaRemoteControl that uses the default PlaybackController. 7 | /// 8 | public IMediaRemoteControl MediaRemoteControl => new MediaRemoteControl(PlaybackController); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/ViewModels/FirstViewModel.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Core.ViewModels; 2 | 3 | namespace MyMediaPlayer.tvOS.ViewModels 4 | { 5 | public class FirstViewModel 6 | : MvxViewModel 7 | { 8 | private string _hello = "Hello MvvmCross"; 9 | public string Hello 10 | { 11 | get { return _hello; } 12 | set { SetProperty (ref _hello, value); } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/VolumeChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class VolumeChangedEventArgs : EventArgs 6 | { 7 | public VolumeChangedEventArgs(int newVolume, bool muted) 8 | { 9 | NewVolume = newVolume; 10 | Muted = muted; 11 | } 12 | 13 | public int NewVolume { get; } 14 | public bool Muted { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Uap/VolumeManagerImplementation.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Plugin.MediaManager.Abstractions; 3 | 4 | namespace Plugin.MediaManager 5 | { 6 | public class VolumeManagerImplementation : IVolumeManager 7 | { 8 | public int CurrentVolume { get; set; } 9 | 10 | public int MaxVolume { get; set; } 11 | public bool Muted { get; set; } 12 | 13 | public event VolumeChangedEventHandler VolumeChanged; 14 | 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/layout/SplashScreen.axml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/Video/VideoSample.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MediaSample.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, "AppDelegate"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MyMediaPlayer.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, "AppDelegate"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MyMediaPlayer.tvOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, null, "AppDelegate"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/MediaFileFailedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class MediaFileFailedEventArgs : EventArgs 6 | { 7 | public MediaFileFailedEventArgs(Exception ex, IMediaFile file) 8 | { 9 | this.MediaExeption = ex; 10 | File = file; 11 | } 12 | 13 | public Exception MediaExeption { get; set; } 14 | public IMediaFile File { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using UIKit; 2 | 3 | namespace MediaSample.iOS 4 | { 5 | public class Application 6 | { 7 | // This is the main entry point of the application. 8 | static void Main(string[] args) 9 | { 10 | // if you want to use a different Application Delegate class from "AppDelegate" 11 | // you can specify it here. 12 | UIApplication.Main(args, "SampleApplication", "AppDelegate"); 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/VideoSurface.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions; 2 | using AppKit; 3 | 4 | namespace Plugin.MediaManager 5 | { 6 | public class VideoSurface : NSView, IVideoSurface 7 | { 8 | #region IDisposable 9 | public bool IsDisposed { get; private set; } 10 | 11 | protected override void Dispose(bool disposing) 12 | { 13 | IsDisposed = true; 14 | 15 | base.Dispose(disposing); 16 | } 17 | #endregion 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/App.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Platform.IoC; 2 | 3 | namespace MyMediaPlayer.tvOS 4 | { 5 | public class App : MvvmCross.Core.ViewModels.MvxApplication 6 | { 7 | public override void Initialize() 8 | { 9 | CreatableTypes() 10 | .EndingWith("Service") 11 | .AsInterfaces() 12 | .RegisterAsLazySingleton(); 13 | 14 | RegisterAppStart(); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/seekbar_control.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/MediaFailedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class MediaFailedEventArgs : EventArgs 6 | { 7 | public MediaFailedEventArgs(string description, Exception exception) 8 | { 9 | Description = description; 10 | Exception = exception; 11 | } 12 | 13 | public Exception Exception { get; set; } 14 | public string Description { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/VideoSurface.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions; 2 | using UIKit; 3 | 4 | namespace Plugin.MediaManager 5 | { 6 | public class VideoSurface : UIView, IVideoSurface 7 | { 8 | #region IDisposable 9 | public bool IsDisposed { get; private set; } 10 | 11 | protected override void Dispose(bool disposing) 12 | { 13 | IsDisposed = true; 14 | 15 | base.Dispose(disposing); 16 | } 17 | #endregion 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Samples/Forms/Droid/Resources/layout/Tabbar.axml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/seekbar_control.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_next.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_option.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_resume.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_next.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_option.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_resume.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/button_previous.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/BufferingChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class BufferingChangedEventArgs : EventArgs 6 | { 7 | public BufferingChangedEventArgs(double bufferProgress, TimeSpan bufferedTime) 8 | { 9 | BufferProgress = bufferProgress; 10 | BufferedTime = bufferedTime; 11 | } 12 | public double BufferProgress { get; } 13 | public TimeSpan BufferedTime { get; } 14 | } 15 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/button_previous.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 8 | 10 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.3", 4 | "MvvmCross.Plugin.Json": "5.1.0", 5 | "MvvmCross.Plugin.JsonLocalization": "5.1.0", 6 | "MvvmCross.Plugin.Visibility": "5.1.0" 7 | }, 8 | "frameworks": { 9 | "uap10.0": {} 10 | }, 11 | "runtimes": { 12 | "win10-arm": {}, 13 | "win10-arm-aot": {}, 14 | "win10-x86": {}, 15 | "win10-x86-aot": {}, 16 | "win10-x64": {}, 17 | "win10-x64-aot": {} 18 | } 19 | } -------------------------------------------------------------------------------- /MediaManager.UWP.Tests/Unit/PlaybackControllerProviderMock.cs: -------------------------------------------------------------------------------- 1 | using Moq; 2 | using Plugin.MediaManager.Abstractions; 3 | 4 | namespace Plugin.MediaManager.UWP.Tests.Unit 5 | { 6 | internal class PlaybackControllerProviderMock : Mock 7 | { 8 | public PlaybackControllerProviderMock SetupGetPlayBackController(IPlaybackController playbackController) 9 | { 10 | Setup(mock => mock.PlaybackController).Returns(playbackController); 11 | return this; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/ViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // This file has been generated automatically by MonoDevelop to store outlets and 3 | // actions made in the Xcode designer. If it is removed, they will be lost. 4 | // Manual changes to this file may not be handled correctly. 5 | // 6 | using Foundation; 7 | 8 | namespace MyMediaPlayer.iOS 9 | { 10 | [Register("ViewController")] 11 | partial class ViewController 12 | { 13 | void ReleaseDesignerOutlets() 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/ViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // 2 | // This file has been generated automatically by MonoDevelop to store outlets and 3 | // actions made in the Xcode designer. If it is removed, they will be lost. 4 | // Manual changes to this file may not be handled correctly. 5 | // 6 | using Foundation; 7 | 8 | namespace MyMediaPlayer.tvOS 9 | { 10 | [Register("ViewController")] 11 | partial class ViewController 12 | { 13 | void ReleaseDesignerOutlets() 14 | { 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/VersionHelper.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class VersionHelper : IVersionHelper 6 | { 7 | private NSOperatingSystemVersion _version; 8 | 9 | public VersionHelper() 10 | { 11 | var processInfo = new NSProcessInfo(); 12 | 13 | _version = processInfo.OperatingSystemVersion; 14 | } 15 | 16 | public bool SupportsAutomaticWaitPlayerProperty => _version.Major >= 10 && _version.Minor >= 12; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Fragments/SearchFragment.cs: -------------------------------------------------------------------------------- 1 | using Android.Runtime; 2 | using MvvmCross.Droid.Shared.Attributes; 3 | using MyMediaPlayer.Core.ViewModels; 4 | 5 | namespace MyMediaPlayer.Droid.Fragments 6 | { 7 | [MvxFragment(typeof(MainViewModel), Resource.Id.content_frame, true)] 8 | [Register("mymediaplayer.droid.fragments.SearchFragment")] 9 | public class SearchFragment : BaseFragment 10 | { 11 | protected override int FragmentId => Resource.Layout.fragment_home; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ### Reproduction steps 5 | 6 | 1. 7 | 8 | 2. 9 | 10 | 3. 11 | 12 | 13 | ### Expected outcome 14 | Explain what you think should happen and why 15 | 16 | ### Actually happening 17 | Explain what happens 18 | 19 | ### Your setup 20 | 21 | Which version of MediaManager are you using? 22 | Which platform iOS, Droid, UWP, Xamarin.Forms? 23 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/MediaPlayerService/MediaPlayerServiceBinder.cs: -------------------------------------------------------------------------------- 1 | using Android.OS; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class MediaPlayerServiceBinder : Binder 6 | { 7 | private MediaPlayerService service; 8 | 9 | public MediaPlayerServiceBinder(MediaPlayerService service) 10 | { 11 | this.service = service; 12 | } 13 | 14 | public MediaPlayerService GetMediaPlayerService() 15 | { 16 | return service; 17 | } 18 | } 19 | } 20 | 21 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/VersionHelper.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class VersionHelper : IVersionHelper 6 | { 7 | private NSOperatingSystemVersion _version; 8 | 9 | public VersionHelper() 10 | { 11 | var processInfo = new NSProcessInfo(); 12 | 13 | _version = processInfo.OperatingSystemVersion; 14 | } 15 | 16 | public bool SupportsAutomaticWaitPlayerProperty => _version.Major >= 10 && _version.Minor >= 12; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 2 | 3 | namespace MediaForms.UWP 4 | { 5 | /// 6 | /// An empty page that can be used on its own or navigated to within a Frame. 7 | /// 8 | public sealed partial class MainPage 9 | { 10 | public MainPage() 11 | { 12 | this.InitializeComponent(); 13 | LoadApplication(new MediaForms.App()); 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/MediaPlayerService/MediaServiceBinder.cs: -------------------------------------------------------------------------------- 1 | using Android.OS; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class MediaServiceBinder : Binder { 6 | private MediaServiceBase service; 7 | 8 | public MediaServiceBinder(MediaServiceBase service) 9 | { 10 | this.service = service; 11 | } 12 | 13 | public TService GetMediaPlayerService() where TService : MediaServiceBase 14 | { 15 | return service as TService; 16 | } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Fragments/AudioPlayerFragment.cs: -------------------------------------------------------------------------------- 1 | using Android.Runtime; 2 | using MvvmCross.Droid.Shared.Attributes; 3 | using MyMediaPlayer.Core.ViewModels; 4 | 5 | namespace MyMediaPlayer.Droid.Fragments 6 | { 7 | [MvxFragment(typeof(MainViewModel), Resource.Id.content_frame, true)] 8 | [Register("mymediaplayer.droid.fragments.AudioPlayerFragment")] 9 | public class AudioPlayerFragment : BaseFragment 10 | { 11 | protected override int FragmentId => Resource.Layout.fragment_home; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.UWP/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "Microsoft.ApplicationInsights": "2.4.0", 4 | "Microsoft.ApplicationInsights.PersistenceChannel": "1.2.3", 5 | "Microsoft.ApplicationInsights.WindowsApps": "1.1.1", 6 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.3.3" 7 | }, 8 | "frameworks": { 9 | "uap10.0": {} 10 | }, 11 | "runtimes": { 12 | "win10-arm": {}, 13 | "win10-arm-aot": {}, 14 | "win10-x86": {}, 15 | "win10-x86-aot": {}, 16 | "win10-x64": {}, 17 | "win10-x64-aot": {} 18 | } 19 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Samples/Directory.build.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | Copyright (c) Martijn van Dijk 4 | Martijn van Dijk 5 | Martijn van Dijk 6 | $(AssemblyName) ($(TargetFramework)) 7 | en 8 | 1.0.0 9 | 10 | latest 11 | $(NoWarn);1591;1701;1702;1705;VSX1000 12 | 13 | AnyCPU 14 | full 15 | 16 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.iOS/SampleApplication.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Plugin.MediaManager; 3 | using UIKit; 4 | 5 | namespace MediaSample.iOS 6 | { 7 | [Register("SampleApplication")] 8 | public class SampleApplication: UIApplication 9 | { 10 | private MediaManagerImplementation MediaManager => (MediaManagerImplementation) CrossMediaManager.Current; 11 | 12 | public override void RemoteControlReceived(UIEvent uiEvent) 13 | { 14 | MediaManager.MediaRemoteControl.RemoteControlReceived(uiEvent); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### :sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...) 2 | 3 | 4 | ### :arrow_heading_down: What is the current behavior? 5 | 6 | 7 | ### :new: What is the new behavior (if this is a feature change)? 8 | 9 | 10 | ### :boom: Does this PR introduce a breaking change? 11 | 12 | 13 | ### :bug: Recommendations for testing 14 | 15 | 16 | ### :memo: Links to relevant issues/docs 17 | 18 | 19 | ### :thinking: Checklist before submitting 20 | 21 | - [ ] All projects build 22 | - [ ] Rebased onto current develop 23 | -------------------------------------------------------------------------------- /MediaManager/EventArguments/PlayingChangedEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Plugin.MediaManager.Abstractions.EventArguments 4 | { 5 | public class PlayingChangedEventArgs : EventArgs 6 | { 7 | public PlayingChangedEventArgs(double progress, TimeSpan position, TimeSpan duration) 8 | { 9 | Progress = progress; 10 | Position = position; 11 | Duration = duration; 12 | } 13 | public double Progress { get; } 14 | public TimeSpan Position { get; } 15 | public TimeSpan Duration { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/SplashScreen.cs: -------------------------------------------------------------------------------- 1 | using Android.App; 2 | using Android.Content.PM; 3 | using MvvmCross.Droid.Views; 4 | 5 | namespace MyMediaPlayer.Droid 6 | { 7 | [Activity( 8 | Label = "MyMediaPlayer.Droid" 9 | , MainLauncher = true 10 | , Icon = "@mipmap/icon" 11 | , Theme = "@style/AppTheme.Splash" 12 | , NoHistory = true)] 13 | public class SplashScreen : MvxSplashScreenActivity 14 | { 15 | public SplashScreen() 16 | : base(Resource.Layout.SplashScreen) 17 | { 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MediaManager/Helpers.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Plugin.MediaManager.Abstractions.Implementations 5 | { 6 | public static class Helpers 7 | { 8 | public static void AddRange(this ICollection collection, IEnumerable items) 9 | { 10 | if (items == null) 11 | { 12 | throw new ArgumentNullException(nameof(items)); 13 | } 14 | foreach (var item in items) 15 | { 16 | collection.Add(item); 17 | } 18 | } 19 | } 20 | } 21 | 22 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Uap/SystemWrappers/SystemMediaTransportControlsButtonPressedEventArgsWrapper.cs: -------------------------------------------------------------------------------- 1 | using Windows.Media; 2 | 3 | namespace Plugin.MediaManager.SystemWrappers 4 | { 5 | internal class SystemMediaTransportControlsButtonPressedEventArgsWrapper : ISystemMediaTransportControlsButtonPressedEventArgsWrapper 6 | { 7 | public SystemMediaTransportControlsButton Button { get; } 8 | 9 | public SystemMediaTransportControlsButtonPressedEventArgsWrapper(SystemMediaTransportControlsButtonPressedEventArgs args) 10 | { 11 | Button = args.Button; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Views/HomeViewController.designer.cs: -------------------------------------------------------------------------------- 1 | // WARNING 2 | // 3 | // This file has been generated automatically by Xamarin Studio from the outlets and 4 | // actions declared in your storyboard file. 5 | // Manual changes to this file will not be maintained. 6 | // 7 | using Foundation; 8 | using System; 9 | using System.CodeDom.Compiler; 10 | using UIKit; 11 | 12 | namespace MyMediaPlayer.iOS.Views 13 | { 14 | [Register("HomeViewController")] 15 | partial class HomeViewController 16 | { 17 | void ReleaseDesignerOutlets() 18 | { 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.UWP/MainPage.xaml: -------------------------------------------------------------------------------- 1 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.Tizen/App.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Forms.Tizen; 2 | 3 | namespace MediaForms.Tizen 4 | { 5 | class Program : global::Xamarin.Forms.Platform.Tizen.FormsApplication 6 | { 7 | protected override void OnCreate() 8 | { 9 | base.OnCreate(); 10 | LoadApplication(new App()); 11 | } 12 | 13 | static void Main(string[] args) 14 | { 15 | var app = new Program(); 16 | global::Xamarin.Forms.Platform.Tizen.Forms.Init(app, true); 17 | VideoViewRenderer.Init(); 18 | app.Run(args); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Samples/Forms/iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Plugin.MediaManager.Forms.iOS; 3 | using UIKit; 4 | 5 | namespace MediaForms.iOS 6 | { 7 | [Register("AppDelegate")] 8 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 9 | { 10 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 11 | { 12 | VideoViewRenderer.Init(); 13 | global::Xamarin.Forms.Forms.Init(); 14 | 15 | LoadApplication(new App()); 16 | 17 | return base.FinishedLaunching(app, options); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/drawable/seekbar_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/drawable/seekbar_progress.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 9 | 10 | 11 | 13 | 14 | -------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | --------------------------------- 2 | Lottie 3 | --------------------------------- 4 | 5 | Lottie is a mobile library for Android and iOS that parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile! 6 | 7 | Using Lottie on Xamarin.Android: 8 | 9 | 16 | 17 | Star on Github if this project helps you: https://github.com/martijn00/LottieXamarin -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Resources/values/Colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | #85E76E 5 | #6CBD5C 6 | #C2EF66 7 | 8 | #222930 9 | 10 | #FFFFFF 11 | #EFF2F5 12 | #C7D2DC 13 | #5C7082 14 | #FF2B343D 15 | #0D131A 16 | #5A6570 17 | -------------------------------------------------------------------------------- /Samples/Forms/iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using Plugin.MediaManager; 7 | using UIKit; 8 | 9 | namespace MediaForms.iOS 10 | { 11 | public class Application 12 | { 13 | // This is the main entry point of the application. 14 | public const string AppName = "MediaForms"; 15 | 16 | static void Main(string[] args) 17 | { 18 | // if you want to use a different Application Delegate class from "AppDelegate" 19 | // you can specify it here. 20 | UIApplication.Main(args, AppName, "AppDelegate"); 21 | } 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Samples/Forms/iOS/MediaFormsApplication.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Foundation; 7 | using Plugin.MediaManager; 8 | using UIKit; 9 | 10 | namespace MediaForms.iOS 11 | { 12 | [Register(Application.AppName)] 13 | public class MediaFormsApplication : UIApplication 14 | { 15 | private MediaManagerImplementation MediaManager => (MediaManagerImplementation)CrossMediaManager.Current; 16 | 17 | public override void RemoteControlReceived(UIEvent uiEvent) 18 | { 19 | MediaManager.MediaRemoteControl.RemoteControlReceived(uiEvent); 20 | } 21 | 22 | } 23 | 24 | 25 | } -------------------------------------------------------------------------------- /Samples/Forms/Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/IAndroidMediaNotificationManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Android.App; 7 | using Android.Content; 8 | using Android.OS; 9 | using Android.Runtime; 10 | using Android.Support.V4.Media.Session; 11 | using Android.Views; 12 | using Android.Widget; 13 | using Plugin.MediaManager.Abstractions; 14 | using Plugin.MediaManager.Abstractions.Enums; 15 | 16 | namespace Plugin.MediaManager 17 | { 18 | public interface IAndroidMediaNotificationManager : IMediaNotificationManager 19 | { 20 | IMediaQueue MediaQueue { get; set; } 21 | MediaSessionCompat.Token SessionToken { get; set; } 22 | 23 | 24 | } 25 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with your package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | #e6233e 6 | #A70626 7 | #0099cc 8 | 9 | 10 | #FFFFFF 11 | #EFF2F5 12 | #C7D2DC 13 | #5C7082 14 | #FF2B343D 15 | #0D131A 16 | #5A6570 17 | 18 | 19 | #ea2040 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/ViewController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Foundation; 3 | using UIKit; 4 | 5 | namespace MyMediaPlayer.tvOS 6 | { 7 | public partial class ViewController : UIViewController 8 | { 9 | public ViewController(IntPtr handle) : base(handle) 10 | { 11 | } 12 | 13 | public override void ViewDidLoad() 14 | { 15 | base.ViewDidLoad(); 16 | // Perform any additional setup after loading the view, typically from a nib. 17 | } 18 | 19 | public override void DidReceiveMemoryWarning() 20 | { 21 | base.DidReceiveMemoryWarning(); 22 | // Release any cached data, images, etc that aren't in use. 23 | } 24 | } 25 | } 26 | 27 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Uap/SystemWrappers/ISystemMediaTransportControlsWrapper.cs: -------------------------------------------------------------------------------- 1 | using Windows.Foundation; 2 | using Windows.Media; 3 | 4 | namespace Plugin.MediaManager.SystemWrappers 5 | { 6 | internal interface ISystemMediaTransportControlsWrapper 7 | { 8 | void SubscribeToMediaButtonEvents(); 9 | 10 | void UnsubscribeFromMediaButtonEvents(); 11 | 12 | bool IsNextEnabled { get; set; } 13 | 14 | bool IsPreviousEnabled { get; set; } 15 | 16 | bool IsPauseEnabled { get; set; } 17 | 18 | bool IsPlayEnabled { get; set; } 19 | 20 | bool IsStopEnabled { get; set; } 21 | 22 | event TypedEventHandler ButtonPressed; 23 | } 24 | } -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Setup.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | using Foundation; 3 | using MvvmCross.Core.ViewModels; 4 | using MvvmCross.Mac.Platform; 5 | using MvvmCross.Mac.Views.Presenters; 6 | using MvvmCross.Platform.Platform; 7 | 8 | namespace MyMediaPlayer.MacOS 9 | { 10 | public class Setup : MvxMacSetup 11 | { 12 | public Setup(MvxApplicationDelegate applicationDelegate, NSWindow window) 13 | : base(applicationDelegate, window) 14 | { 15 | } 16 | 17 | protected override IMvxApplication CreateApp () 18 | { 19 | return new Core.App(); 20 | } 21 | 22 | protected override IMvxTrace CreateDebugTrace() 23 | { 24 | return new DebugTrace(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MediaManager.Tests/MediaFile.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using Plugin.MediaManager.Abstractions; 4 | using Plugin.MediaManager.Abstractions.Implementations; 5 | 6 | namespace Plugin.MediaManager.Tests 7 | { 8 | class MediaFile : IMediaFile 9 | { 10 | public Guid Id { get; set; } 11 | public MediaFileType Type { get; set; } 12 | public string Url { get; set; } 13 | public IMediaFileMetadata Metadata { get; set; } 14 | 15 | public event PropertyChangedEventHandler PropertyChanged; 16 | 17 | public override string ToString() 18 | { 19 | return string.Format("[MediaFile: Id={0}, Type={1}, Url={2}]", Id, Type, Url); 20 | } 21 | public bool MetadataExtracted { get; set; } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Resources/layout/toolbar_layout.axml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 14 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/App.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Core.ViewModels; 2 | using MvvmCross.Platform; 3 | using MvvmCross.Platform.IoC; 4 | 5 | namespace MyMediaPlayer.Core 6 | { 7 | public class App : MvvmCross.Core.ViewModels.MvxApplication 8 | { 9 | public override void Initialize() 10 | { 11 | CreatableTypes() 12 | .EndingWith("Service") 13 | .AsInterfaces() 14 | .RegisterAsLazySingleton(); 15 | 16 | // Construct custom application start object 17 | Mvx.ConstructAndRegisterSingleton(); 18 | var appStart = Mvx.Resolve(); 19 | 20 | // register the appstart object 21 | RegisterAppStart(appStart); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/MediaManagerImplementation.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions; 2 | 3 | namespace Plugin.MediaManager 4 | { 5 | public class MediaManagerImplementation: MediaManagerAppleBase 6 | { 7 | public MediaManagerImplementation() 8 | { 9 | MediaRemoteControl = new MediaRemoteControl(PlaybackController); 10 | MediaNotificationManager = new MediaNotificationManagerImplementation(this); 11 | } 12 | 13 | /// 14 | /// Default implementation for IMediaRemoteControl that uses the default PlaybackController. 15 | /// 16 | public IMediaRemoteControl MediaRemoteControl { get; set; } 17 | 18 | public sealed override IMediaNotificationManager MediaNotificationManager { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/ViewController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using UIKit; 4 | 5 | namespace MyMediaPlayer.iOS 6 | { 7 | public partial class ViewController : UIViewController 8 | { 9 | protected ViewController(IntPtr handle) : base(handle) 10 | { 11 | // Note: this .ctor should not contain any initialization logic. 12 | } 13 | 14 | public override void ViewDidLoad() 15 | { 16 | base.ViewDidLoad(); 17 | // Perform any additional setup after loading the view, typically from a nib. 18 | } 19 | 20 | public override void DidReceiveMemoryWarning() 21 | { 22 | base.DidReceiveMemoryWarning(); 23 | // Release any cached data, images, etc that aren't in use. 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # This file is understood by git 1.7.2+. 2 | 3 | # Windows specific files should always be crlf on checkout 4 | *.bat text eol=crlf 5 | *.cmd text eol=crlf 6 | *.ps1 text eol=crlf 7 | 8 | # Check out the following as ln always for osx/linux/cygwin 9 | *.sh text eol=lf 10 | 11 | # Opt in the following types to always normalize line endings 12 | # on checkin and always use native endings on checkout. 13 | *.config text 14 | *.cs text diff=csharp 15 | *.csproj text 16 | *.md text 17 | *.msbuild text 18 | *.nuspec text 19 | *.pp text 20 | *.ps1 text 21 | *.sln text 22 | *.tt text 23 | *.txt text 24 | *.xaml text 25 | *.xml text 26 | 27 | # Binary files 28 | *.bmp binary 29 | *.jpeg binary 30 | *.jpg binary 31 | *.nupkg binary 32 | *.png binary 33 | *.sdf binary 34 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Views/HomeViewController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using MvvmCross.iOS.Views; 3 | using MyMediaPlayer.Core.ViewModels; 4 | using UIKit; 5 | 6 | namespace MyMediaPlayer.iOS.Views 7 | { 8 | public partial class HomeViewController : MvxViewController 9 | { 10 | public HomeViewController() : base("HomeViewController", null) 11 | { 12 | } 13 | 14 | public override void ViewDidLoad() 15 | { 16 | base.ViewDidLoad(); 17 | // Perform any additional setup after loading the view, typically from a nib. 18 | } 19 | 20 | public override void DidReceiveMemoryWarning() 21 | { 22 | base.DidReceiveMemoryWarning(); 23 | // Release any cached data, images, etc that aren't in use. 24 | } 25 | } 26 | } 27 | 28 | -------------------------------------------------------------------------------- /Samples/Simple/MediaSample.Core/MediaSample.Core.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | MediaManager.Sample.Core 6 | MediaManager.Sample.Core 7 | 1.0.0.0 8 | 1.0.0.0 9 | 1.0.0.0 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Droid/Fragments/HomeFragment.cs: -------------------------------------------------------------------------------- 1 | 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | 7 | using Android.App; 8 | using Android.Content; 9 | using Android.OS; 10 | using Android.Runtime; 11 | using Android.Support.Design.Widget; 12 | using Android.Support.V7.Widget; 13 | using Android.Util; 14 | using Android.Views; 15 | using Android.Widget; 16 | using MvvmCross.Droid.Shared.Attributes; 17 | using MyMediaPlayer.Core.ViewModels; 18 | 19 | namespace MyMediaPlayer.Droid.Fragments 20 | { 21 | [MvxFragment(typeof(MainViewModel), Resource.Id.content_frame, true)] 22 | [Register("mymediaplayer.droid.fragments.HomeFragment")] 23 | public class HomeFragment : BaseFragment 24 | { 25 | protected override int FragmentId => Resource.Layout.fragment_home; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ### Steps to reproduce :scroll: 6 | 7 | 1. 8 | 9 | 2. 10 | 11 | 3. 12 | 13 | 14 | ### Expected behavior :thinking: 15 | Tell us what should happen 16 | 17 | ### Actual behavior :bug: 18 | Tell us what happens instead 19 | 20 | ### Configuration :wrench: 21 | 22 | **Version:** 2.x 23 | 24 | **Platform:** 25 | - [ ] :iphone: iOS 26 | - [ ] :robot: Android 27 | - [ ] :checkered_flag: WPF 28 | - [ ] :earth_americas: UWP 29 | - [ ] :apple: MacOS 30 | - [ ] :tv: tvOS 31 | - [ ] :monkey: Xamarin.Forms 32 | -------------------------------------------------------------------------------- /MediaManager.Reactive/MediaManager.Reactive.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | MediaManager.Reactive 6 | MediaManager.Reactive 7 | Plugin.MediaManager.Reactive 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "assets" : [ 3 | { 4 | "size" : "1280x768", 5 | "idiom" : "tv", 6 | "filename" : "App Icon - Large.imagestack", 7 | "role" : "primary-app-icon" 8 | }, 9 | { 10 | "size" : "400x240", 11 | "idiom" : "tv", 12 | "filename" : "App Icon - Small.imagestack", 13 | "role" : "primary-app-icon" 14 | }, 15 | { 16 | "size" : "2320x720", 17 | "idiom" : "tv", 18 | "filename" : "Top Shelf Image Wide.imageset", 19 | "role" : "top-shelf-image-wide" 20 | }, 21 | { 22 | "size" : "1920x720", 23 | "idiom" : "tv", 24 | "filename" : "Top Shelf Image.imageset", 25 | "role" : "top-shelf-image" 26 | } 27 | ], 28 | "info" : { 29 | "version" : 1, 30 | "author" : "xcode" 31 | } 32 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/Views/FirstView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using AppKit; 5 | using Foundation; 6 | using MvvmCross.Binding.Mac.Views; 7 | 8 | namespace MyMediaPlayer.MacOS.Views 9 | { 10 | public partial class FirstView : MvxView 11 | { 12 | #region Constructors 13 | 14 | // Called when created from unmanaged code 15 | public FirstView(IntPtr handle) : base(handle) 16 | { 17 | Initialize(); 18 | } 19 | 20 | // Called when created directly from a XIB file 21 | [Export("initWithCoder:")] 22 | public FirstView(NSCoder coder) : base(coder) 23 | { 24 | Initialize(); 25 | } 26 | 27 | // Shared initialization code 28 | void Initialize() 29 | { 30 | } 31 | 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/VideoSurface.cs: -------------------------------------------------------------------------------- 1 | using AVFoundation; 2 | using Plugin.MediaManager.Abstractions; 3 | using UIKit; 4 | 5 | namespace Plugin.MediaManager 6 | { 7 | public class VideoSurface : UIView, IVideoSurface 8 | { 9 | 10 | public override void LayoutSubviews() 11 | { 12 | base.LayoutSubviews(); 13 | if (Layer.Sublayers == null || Layer.Sublayers.Length == 0) 14 | return; 15 | foreach (var layer in Layer.Sublayers) 16 | { 17 | var avPlayerLayer = layer as AVPlayerLayer; 18 | if (avPlayerLayer != null) 19 | avPlayerLayer.Frame = Bounds; 20 | } 21 | } 22 | 23 | #region IDisposable 24 | public bool IsDisposed { get; private set; } 25 | 26 | protected override void Dispose(bool disposing) 27 | { 28 | IsDisposed = true; 29 | 30 | base.Dispose(disposing); 31 | } 32 | #endregion 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Forms; 2 | using Xamarin.Forms; 3 | 4 | namespace MediaForms 5 | { 6 | public partial class App : Application 7 | { 8 | public App() 9 | { 10 | // Make sure it doesn't get stripped away by the linker 11 | var workaround = typeof(VideoView); 12 | InitializeComponent(); 13 | //MainPage = new MediaFormsPage(); 14 | 15 | MainPage = new NavigationPage(new HomePage()); 16 | } 17 | 18 | protected override void OnStart() 19 | { 20 | // Handle when your app starts 21 | } 22 | 23 | protected override void OnSleep() 24 | { 25 | // Handle when your app sleeps 26 | } 27 | 28 | protected override void OnResume() 29 | { 30 | // Handle when your app resumes 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /MediaManager.Tests/MediaManager.Tests.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | false 6 | MediaManager.Tests 7 | MediaManager.Tests 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.iOS/Setup.cs: -------------------------------------------------------------------------------- 1 | using MvvmCross.Core.ViewModels; 2 | using MvvmCross.iOS.Platform; 3 | using MvvmCross.iOS.Views.Presenters; 4 | using MvvmCross.Platform.Platform; 5 | using UIKit; 6 | 7 | namespace MyMediaPlayer.iOS 8 | { 9 | public class Setup : MvxIosSetup 10 | { 11 | public Setup(MvxApplicationDelegate applicationDelegate, UIWindow window) 12 | : base(applicationDelegate, window) 13 | { 14 | } 15 | 16 | public Setup(MvxApplicationDelegate applicationDelegate, IMvxIosViewPresenter presenter) 17 | : base(applicationDelegate, presenter) 18 | { 19 | } 20 | 21 | protected override IMvxApplication CreateApp() 22 | { 23 | return new Core.App(); 24 | } 25 | 26 | protected override IMvxTrace CreateDebugTrace() 27 | { 28 | return new DebugTrace(); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.Tizen/MediaForms.Tizen.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Exe 6 | tizen40 7 | false 8 | 9 | 10 | 11 | 12 | Runtime 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /MediaManager/IMediaNotificationManager.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions.Enums; 2 | 3 | namespace Plugin.MediaManager.Abstractions 4 | { 5 | /// 6 | /// Manages the notifications to the native platform 7 | /// 8 | public interface IMediaNotificationManager 9 | { 10 | /// 11 | /// Starts the notification. 12 | /// 13 | /// The media file. 14 | void StartNotification(IMediaFile mediaFile); 15 | 16 | /// 17 | /// Stops the notifications. 18 | /// 19 | void StopNotifications(); 20 | 21 | /// 22 | /// Updates the notifications. 23 | /// 24 | /// The media file. 25 | /// The status. 26 | void UpdateNotifications(IMediaFile mediaFile, MediaPlayerStatus status); 27 | } 28 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Ios/RemoteControlNotificationManager.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Plugin.MediaManager.Abstractions; 3 | using Plugin.MediaManager.Abstractions.Enums; 4 | using UIKit; 5 | 6 | namespace Plugin.MediaManager 7 | { 8 | public class RemoteControlNotificationManager: NSObject, IMediaNotificationManager 9 | { 10 | public virtual void StartNotification(IMediaFile mediaFile) 11 | { 12 | InvokeOnMainThread(() => { 13 | UIApplication.SharedApplication.BeginReceivingRemoteControlEvents(); 14 | }); 15 | } 16 | 17 | public virtual void StopNotifications() 18 | { 19 | InvokeOnMainThread(() => 20 | { 21 | UIApplication.SharedApplication.EndReceivingRemoteControlEvents(); 22 | }); 23 | } 24 | 25 | public virtual void UpdateNotifications(IMediaFile mediaFile, MediaPlayerStatus status) 26 | { 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Tvos/RemoteControlNotificationManager.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Plugin.MediaManager.Abstractions; 3 | using Plugin.MediaManager.Abstractions.Enums; 4 | using UIKit; 5 | 6 | namespace Plugin.MediaManager 7 | { 8 | public class RemoteControlNotificationManager: NSObject, IMediaNotificationManager 9 | { 10 | public virtual void StartNotification(IMediaFile mediaFile) 11 | { 12 | InvokeOnMainThread(() => { 13 | UIApplication.SharedApplication.BeginReceivingRemoteControlEvents(); 14 | }); 15 | } 16 | 17 | public virtual void StopNotifications() 18 | { 19 | InvokeOnMainThread(() => 20 | { 21 | UIApplication.SharedApplication.EndReceivingRemoteControlEvents(); 22 | }); 23 | } 24 | 25 | public virtual void UpdateNotifications(IMediaFile mediaFile, MediaPlayerStatus status) 26 | { 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /MediaManager/Platforms/Macos/RemoteControlNotificationManager.cs: -------------------------------------------------------------------------------- 1 | using Foundation; 2 | using Plugin.MediaManager.Abstractions; 3 | using Plugin.MediaManager.Abstractions.Enums; 4 | using UIKit; 5 | 6 | namespace Plugin.MediaManager 7 | { 8 | public class RemoteControlNotificationManager: NSObject, IMediaNotificationManager 9 | { 10 | public virtual void StartNotification(IMediaFile mediaFile) 11 | { 12 | InvokeOnMainThread(() => { 13 | UIApplication.SharedApplication.BeginReceivingRemoteControlEvents(); 14 | }); 15 | } 16 | 17 | public virtual void StopNotifications() 18 | { 19 | InvokeOnMainThread(() => 20 | { 21 | UIApplication.SharedApplication.EndReceivingRemoteControlEvents(); 22 | }); 23 | } 24 | 25 | public virtual void UpdateNotifications(IMediaFile mediaFile, MediaPlayerStatus status) 26 | { 27 | } 28 | } 29 | } -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.UWP/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Runtime.InteropServices.WindowsRuntime; 6 | using Windows.Foundation; 7 | using Windows.Foundation.Collections; 8 | using Windows.UI.Xaml; 9 | using Windows.UI.Xaml.Controls; 10 | using Windows.UI.Xaml.Controls.Primitives; 11 | using Windows.UI.Xaml.Data; 12 | using Windows.UI.Xaml.Input; 13 | using Windows.UI.Xaml.Media; 14 | using Windows.UI.Xaml.Navigation; 15 | 16 | // The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 17 | 18 | namespace MyMediaPlayer.UWP 19 | { 20 | /// 21 | /// An empty page that can be used on its own or navigated to within a Frame. 22 | /// 23 | public sealed partial class MainPage : Page 24 | { 25 | public MainPage() 26 | { 27 | this.InitializeComponent(); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/Audio/AudioPlayerBroadcastReceiver.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using Android.Media; 3 | using Plugin.MediaManager.MediaSession; 4 | 5 | namespace Plugin.MediaManager.Audio 6 | { 7 | /// 8 | /// This is a simple intent receiver that is used to stop playback 9 | /// when audio become noisy, such as the user unplugged headphones 10 | /// 11 | 12 | public class AudioPlayerBroadcastReceiver : BroadcastReceiver 13 | { 14 | private readonly MediaSessionManager _manager; 15 | 16 | public AudioPlayerBroadcastReceiver(MediaSessionManager manager) 17 | { 18 | _manager = manager; 19 | } 20 | public override void OnReceive(Context context, Intent intent) 21 | { 22 | if (AudioManager.ActionAudioBecomingNoisy.Equals(intent.Action)) 23 | { 24 | _manager.HandleAction(MediaServiceBase.ActionPause); 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /MediaManager.ExoPlayer/MediaManager.ExoPlayer.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | MonoAndroid81 5 | MediaManager.ExoPlayer 6 | MediaManager.ExoPlayer 7 | Plugin.MediaManager.ExoPlayer 8 | MediaManager.ExoPlayer Plugin for Xamarin and Windows 9 | Summary of nuget 10 | Plugin Description 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Samples/Forms/MediaForms.Tizen/tizen-manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | icon.png 7 | 8 | 9 | 10 | 11 | http://tizen.org/privilege/internet 12 | http://tizen.org/privilege/mediastorage 13 | http://tizen.org/privilege/externalstorage 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Samples/MvvmCross/MyMediaPlayer.MacOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using AppKit; 2 | using CoreGraphics; 3 | using Foundation; 4 | using MvvmCross.Core.ViewModels; 5 | using MvvmCross.Mac.Platform; 6 | using MvvmCross.Platform; 7 | 8 | namespace MyMediaPlayer.MacOS 9 | { 10 | [Register("AppDelegate")] 11 | public partial class AppDelegate : MvxApplicationDelegate 12 | { 13 | NSWindow _window; 14 | 15 | public override void DidFinishLaunching(NSNotification notification) 16 | { 17 | _window = new NSWindow(new CGRect(200, 200, 400, 700), NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled, 18 | NSBackingStore.Buffered, false, NSScreen.MainScreen); 19 | 20 | var setup = new Setup(this, _window); 21 | setup.Initialize(); 22 | 23 | var startup = Mvx.Resolve(); 24 | startup.Start(); 25 | 26 | _window.MakeKeyAndOrderFront(this); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /MediaManager/Platforms/Android/MediaPlayerService/MediaPlayerServiceConnection.cs: -------------------------------------------------------------------------------- 1 | using Android.Content; 2 | using Android.OS; 3 | using Plugin.MediaManager.Audio; 4 | 5 | namespace Plugin.MediaManager 6 | { 7 | internal class MediaPlayerServiceConnection : Java.Lang.Object, IServiceConnection 8 | { 9 | private AudioPlayerImplementation instance; 10 | 11 | public MediaPlayerServiceConnection(AudioPlayerImplementation mediaPlayer) 12 | { 13 | this.instance = mediaPlayer; 14 | } 15 | 16 | public void OnServiceConnected(ComponentName name, IBinder service) 17 | { 18 | var mediaServiceBinder = service as MediaServiceBinder; 19 | if (mediaServiceBinder != null) 20 | { 21 | instance.OnServiceConnected(mediaServiceBinder); 22 | } 23 | } 24 | 25 | public void OnServiceDisconnected(ComponentName name) 26 | { 27 | instance.OnServiceDisconnected(); 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /MediaManager/IVolumeManager.cs: -------------------------------------------------------------------------------- 1 | using Plugin.MediaManager.Abstractions.EventArguments; 2 | 3 | namespace Plugin.MediaManager.Abstractions 4 | { 5 | public delegate void VolumeChangedEventHandler(object sender, VolumeChangedEventArgs e); 6 | 7 | /// 8 | /// Manages the volume of media 9 | /// 10 | public interface IVolumeManager 11 | { 12 | /// 13 | /// Raised when the volume changes 14 | /// 15 | event VolumeChangedEventHandler VolumeChanged; 16 | 17 | /// 18 | /// The volume for the current MediaPlayer 19 | /// Valid values are 0 - MaxVolume 20 | /// 21 | int CurrentVolume { get; set; } 22 | 23 | /// 24 | /// The Maximum volume that can be used 25 | /// 26 | int MaxVolume { get; set; } 27 | 28 | /// 29 | /// True if the sound is Muted 30 | /// 31 | bool Muted { get; set; } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Samples/Forms/Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content; 5 | using Android.Content.PM; 6 | using Android.Runtime; 7 | using Android.Views; 8 | using Android.Widget; 9 | using Android.OS; 10 | using Plugin.MediaManager.Forms.Android; 11 | 12 | namespace MediaForms.Droid 13 | { 14 | [Activity(Label = "MediaForms.Droid", Icon = "@drawable/icon", Theme = "@style/MyTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 15 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity 16 | { 17 | protected override void OnCreate(Bundle bundle) 18 | { 19 | TabLayoutResource = Resource.Layout.Tabbar; 20 | ToolbarResource = Resource.Layout.Toolbar; 21 | 22 | base.OnCreate(bundle); 23 | 24 | VideoViewRenderer.Init(); 25 | global::Xamarin.Forms.Forms.Init(this, bundle); 26 | 27 | LoadApplication(new App()); 28 | } 29 | } 30 | } 31 | --------------------------------------------------------------------------------