diff --git a/TV Player WPF/ViewModels/GroupInfo.cs b/TV Player WPF/PlaylistWorker/GroupInfo.cs
similarity index 100%
rename from TV Player WPF/ViewModels/GroupInfo.cs
rename to TV Player WPF/PlaylistWorker/GroupInfo.cs
diff --git a/TV Player WPF/ViewModels/M3UInfo.cs b/TV Player WPF/PlaylistWorker/M3UInfo.cs
similarity index 100%
rename from TV Player WPF/ViewModels/M3UInfo.cs
rename to TV Player WPF/PlaylistWorker/M3UInfo.cs
diff --git a/TV Player WPF/ViewModels/M3UParser.cs b/TV Player WPF/PlaylistWorker/M3UParser.cs
similarity index 100%
rename from TV Player WPF/ViewModels/M3UParser.cs
rename to TV Player WPF/PlaylistWorker/M3UParser.cs
diff --git a/TV Player WPF/TV Player WPF.csproj b/TV Player WPF/TV Player WPF.csproj
index 2a857bf..ca7df6a 100644
--- a/TV Player WPF/TV Player WPF.csproj
+++ b/TV Player WPF/TV Player WPF.csproj
@@ -20,14 +20,13 @@
-
+
true
-
diff --git a/TV Player/Handlers/AndroidHandler.cs b/TV Player/Handlers/AndroidHandler.cs
new file mode 100644
index 0000000..6c684a0
--- /dev/null
+++ b/TV Player/Handlers/AndroidHandler.cs
@@ -0,0 +1,74 @@
+using Microsoft.Maui.Handlers;
+using static Microsoft.Maui.ApplicationModel.Permissions;
+
+namespace TV_Player.MAUI
+{
+ //public partial class MediaViewerHandler : ViewHandler
+ //{
+ // VideoView _videoView;
+ // LibVLC _libVLC;
+ // LibVLCSharp.Shared.MediaPlayer _mediaPlayer;
+
+ // protected override VideoView CreatePlatformView() => new VideoView(Context);
+
+ // protected override void ConnectHandler(VideoView nativeView)
+ // {
+ // base.ConnectHandler(nativeView);
+
+ // _libVLC = new LibVLC(enableDebugLogs: true);
+ // _mediaPlayer = new LibVLCSharp.Shared.MediaPlayer(_libVLC)
+ // {
+ // EnableHardwareDecoding = true
+ // };
+
+ // _videoView = nativeView ?? new VideoView(Context);
+ // _videoView.MediaPlayer = _mediaPlayer;
+
+ // HandleUrl(VirtualView.StreamUrl);
+
+ // base.ConnectHandler(nativeView);
+ // }
+
+ // protected override void DisconnectHandler(VideoView nativeView)
+ // {
+ // nativeView.Dispose();
+ // base.DisconnectHandler(nativeView);
+ // }
+
+ // private void HandleUrl(string url)
+ // {
+ // try
+ // {
+
+ // if (url.EndsWith("/"))
+ // {
+ // url = url.TrimEnd('/');
+ // }
+
+ // //url = "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4";
+
+ // if (!string.IsNullOrEmpty(url))
+ // {
+ // var media = new Media(_libVLC, url, FromType.FromLocation);
+
+ // _mediaPlayer.NetworkCaching = 1500;
+
+ // if (_mediaPlayer.Media != null)
+ // {
+ // _mediaPlayer.Stop();
+ // _mediaPlayer.Media.Dispose();
+ // }
+
+ // _mediaPlayer.Media = media;
+ // _mediaPlayer.Mute = true;
+
+ // _videoView.MediaPlayer.Play();
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // }
+ // }
+
+ //}
+}
diff --git a/TV Player/MediaViewer.cs b/TV Player/Handlers/MediaViewer.cs
similarity index 99%
rename from TV Player/MediaViewer.cs
rename to TV Player/Handlers/MediaViewer.cs
index 7c40dfd..6b04e0f 100644
--- a/TV Player/MediaViewer.cs
+++ b/TV Player/Handlers/MediaViewer.cs
@@ -1,6 +1,7 @@
namespace TV_Player.MAUI
{
+
public class MediaViewer : ContentView
{
//private MediaPlayer _mediaPlayer;
diff --git a/TV Player/Handlers/MediaViewerHandler.cs b/TV Player/Handlers/MediaViewerHandler.cs
new file mode 100644
index 0000000..d563361
--- /dev/null
+++ b/TV Player/Handlers/MediaViewerHandler.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace TV_Player.MAUI
+{
+// public partial class MediaViewerHandler
+// {
+// public static IPropertyMapper PropertyMapper =
+// new PropertyMapper()
+// {
+// };
+
+// public static CommandMapper CommandMapper = new(ViewCommandMapper)
+// {
+// };
+
+// public MediaViewerHandler() : base(PropertyMapper, CommandMapper)
+// {
+// }
+// }
+}
diff --git a/TV Player/MauiProgram.cs b/TV Player/MauiProgram.cs
index 7381dc8..40a150e 100644
--- a/TV Player/MauiProgram.cs
+++ b/TV Player/MauiProgram.cs
@@ -1,5 +1,4 @@
-using CommunityToolkit.Maui;
namespace TV_Player.MAUI
{
@@ -10,7 +9,6 @@ namespace TV_Player.MAUI
var builder = MauiApp.CreateBuilder();
builder
.UseMauiApp()
- .UseMauiCommunityToolkitMediaElement()
.ConfigureFonts(fonts =>
{
fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
diff --git a/TV Player/PlayerPage.xaml b/TV Player/PlayerPage.xaml
index bc24a29..c5b4fa4 100644
--- a/TV Player/PlayerPage.xaml
+++ b/TV Player/PlayerPage.xaml
@@ -7,6 +7,6 @@
>
-
+
diff --git a/TV Player/PlayerPage.xaml.cs b/TV Player/PlayerPage.xaml.cs
index 7fc003b..585b404 100644
--- a/TV Player/PlayerPage.xaml.cs
+++ b/TV Player/PlayerPage.xaml.cs
@@ -67,12 +67,4 @@ public partial class PlayerPage : ContentPage
return await client.GetByteArrayAsync(streamUrl);
}
}
-
- protected override void OnAppearing()
- {
- base.OnAppearing();
- // Set the MediaElement source to the temporary file when the page appears
- mediaElement.Source = tempFilePath;
- mediaElement.ShouldAutoPlay = true; // Auto-play the media
- }
}
diff --git a/TV Player/TV Player MAUI.csproj b/TV Player/TV Player MAUI.csproj
index 084266f..9e7183d 100644
--- a/TV Player/TV Player MAUI.csproj
+++ b/TV Player/TV Player MAUI.csproj
@@ -46,7 +46,6 @@
-