[C#] DH Player 1.0

  • 1 Respuestas
  • 2359 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado BigBear

  • *
  • Underc0der
  • Mensajes: 543
  • Actividad:
    0%
  • Reputación 3
    • Ver Perfil

[C#] DH Player 1.0

  • en: Marzo 13, 2015, 11:16:40 am
Este vez les traigo un reproductor de musica y peliculas que hice en C# usando WPF con las siguientes opciones :

  • Reproduce musica y videos a pantalla completa[/li]
  • Soporta Drag and Drop para reproducir canciones y videos [/li]
  • Pueden subir volumen y poner la posicion que quieran[/li]
  • Tienen opcion para repetir una cancion o reproducir una carpeta entera automaticamente[/li]
  • Pueden poner mute[/li][/list]

    * Formatos de musica soportados : mp3,m4a,wma
    * Formato de videos soportados : avi,mp4,flv,mkv,wmv,mpg

    Una imagen :



    El codigo

    Código: C#
    1. // DH Player 1.0
    2. // (C) Doddy Hackman 2015
    3. // Credits :
    4. // Based on : MP3 Happy Hard Core Player V 1.0 By Steel Karpov
    5. // Thanks to Steel Karpov
    6.  
    7. using System;
    8. using System.Collections.Generic;
    9. using System.Text;
    10. using System.Windows;
    11. using System.Windows.Controls;
    12. using System.Windows.Data;
    13. using System.Windows.Documents;
    14. using System.Windows.Input;
    15. using System.Windows.Media;
    16. using System.Windows.Media.Imaging;
    17. using System.Windows.Navigation;
    18. using System.Windows.Shapes;
    19. using Microsoft.Win32;
    20. using System.IO;
    21. using System.Windows.Threading;
    22. using System.Text.RegularExpressions;
    23.  
    24. namespace DH_Player
    25. {
    26.     /// <summary>
    27.     /// Lógica de interacción para MainWindow.xaml
    28.     /// </summary>
    29.     public partial class MainWindow : Window
    30.     {
    31.         DispatcherTimer control_del_tiempo;
    32.         bool escribiendo;
    33.         bool enalgo;
    34.         bool repeat;
    35.         bool automatic;
    36.         bool pantalla_completa = false;
    37.  
    38.         public MainWindow()
    39.         {
    40.             InitializeComponent();
    41.  
    42.             control_del_tiempo = You are not allowed to view links. Register or Login DispatcherTimer();
    43.             control_del_tiempo.Interval = TimeSpan.FromSeconds(1);
    44.             control_del_tiempo.Tick += You are not allowed to view links. Register or Login EventHandler(timer_Tick);
    45.             escribiendo = false;
    46.         }
    47.  
    48.         private void timer_Tick(object sender, EventArgs e)
    49.         {
    50.             if (!escribiendo)
    51.             {
    52.                 linea.Value = player.Position.TotalSeconds;
    53.             }
    54.         }
    55.  
    56.         private void retroceder_MouseUp(object sender, MouseButtonEventArgs e)
    57.         {
    58.             if (lista.SelectedIndex != -1)
    59.             {
    60.                 cancion_anterior();
    61.             }
    62.         }
    63.  
    64.         private void play_MouseUp(object sender, MouseButtonEventArgs e)
    65.         {
    66.             if (lista.SelectedIndex != -1)
    67.             {
    68.                 enalgo = true;
    69.                 player.Play();
    70.             }
    71.         }
    72.  
    73.         private void pause_MouseUp(object sender, MouseButtonEventArgs e)
    74.         {
    75.             if (lista.SelectedIndex != -1)
    76.             {
    77.                 player.Pause();
    78.                 enalgo = false;
    79.             }
    80.         }
    81.  
    82.         private void avanzar_MouseUp(object sender, MouseButtonEventArgs e)
    83.         {
    84.             if (lista.SelectedIndex != -1)
    85.             {
    86.                 cancion_siguiente();
    87.             }
    88.         }
    89.  
    90.         private void nombres_MouseDoubleClick(object sender, MouseButtonEventArgs e)
    91.         {
    92.             if (lista.SelectedIndex != -1)
    93.             {
    94.                 enalgo = false;
    95.                 start_music();
    96.             }
    97.         }
    98.  
    99.         private void start_music()
    100.         {
    101.  
    102.             if (enalgo == true)
    103.             {
    104.                 player.Play();
    105.             }
    106.             else
    107.             {
    108.  
    109.                 ListBoxItem ruta1 = (ListBoxItem)lista.SelectedItem;
    110.                 string ruta = ruta1.Tag.ToString();
    111.                 player.Position = TimeSpan.Zero;
    112.                 player.LoadedBehavior = MediaState.Manual;
    113.                 player.UnloadedBehavior = MediaState.Stop;
    114.                 player.Source = You are not allowed to view links. Register or Login Uri(ruta);
    115.                 linea.Value = 0;
    116.                 player.Play();
    117.             }
    118.         }
    119.  
    120.         private void cancion_siguiente()
    121.         {
    122.             enalgo = false;
    123.  
    124.             try
    125.             {
    126.  
    127.                 if (lista.SelectedIndex + 1 < lista.Items.Count)
    128.                 {
    129.                     lista.SelectedItem = lista.Items.GetItemAt(lista.SelectedIndex + 1);
    130.                     start_music();
    131.                 }
    132.  
    133.             }
    134.  
    135.             catch
    136.             {
    137.                 //
    138.             }
    139.         }
    140.  
    141.         private void cancion_anterior()
    142.         {
    143.             enalgo = false;
    144.  
    145.             try
    146.             {
    147.  
    148.                 if (lista.SelectedIndex - 1 < lista.Items.Count)
    149.                 {
    150.                     lista.SelectedItem = lista.Items.GetItemAt(lista.SelectedIndex - 1);
    151.                     start_music();
    152.                 }
    153.  
    154.             }
    155.  
    156.             catch
    157.             {
    158.                 //
    159.             }
    160.         }
    161.  
    162.         private void volumen_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    163.         {
    164.             try
    165.             {
    166.                 player.Volume = volumen.Value;
    167.             }
    168.             catch
    169.             {
    170.                 //
    171.             }
    172.         }
    173.  
    174.         private void player_MouseDown(object sender, MouseButtonEventArgs e)
    175.         {
    176.  
    177.             int width_screen = 1400;
    178.             int height_screen = 800;
    179.  
    180.             int width_original = 483;
    181.             int height_original = 372;
    182.  
    183.             if (e.ClickCount == 2 && pantalla_completa == false)
    184.             {
    185.                 player.MinHeight = height_screen;
    186.                 player.MinWidth = width_screen;
    187.  
    188.                 volumen.Visibility = Visibility.Hidden;
    189.                 linea.Visibility = Visibility.Hidden;
    190.                 play.Visibility = Visibility.Hidden;
    191.                 pause.Visibility = Visibility.Hidden;
    192.                 avanzar.Visibility = Visibility.Hidden;
    193.                 retroceder.Visibility = Visibility.Hidden;
    194.                 contenedor1.Visibility = Visibility.Hidden;
    195.                 contenedor2.Visibility = Visibility.Hidden;
    196.                 lista.Visibility = Visibility.Hidden;
    197.                 menu1.Visibility = Visibility.Hidden;
    198.                 progreso.Visibility = Visibility.Hidden;
    199.                 this.WindowStyle = WindowStyle.None;
    200.                 this.WindowState = WindowState.Maximized;
    201.  
    202.                 pantalla_completa = true;
    203.  
    204.             }
    205.             else
    206.             {
    207.  
    208.                 if (e.ClickCount == 2 && pantalla_completa == true)
    209.                 {
    210.                     player.MinHeight = height_original;
    211.                     player.MinWidth = width_original;
    212.  
    213.                     volumen.Visibility = Visibility.Visible;
    214.                     linea.Visibility = Visibility.Visible;
    215.                     play.Visibility = Visibility.Visible;
    216.                     pause.Visibility = Visibility.Visible;
    217.                     avanzar.Visibility = Visibility.Visible;
    218.                     retroceder.Visibility = Visibility.Visible;
    219.                     contenedor1.Visibility = Visibility.Visible;
    220.                     contenedor2.Visibility = Visibility.Visible;
    221.                     lista.Visibility = Visibility.Visible;
    222.                     menu1.Visibility = Visibility.Visible;
    223.                     progreso.Visibility = Visibility.Visible;
    224.                     this.WindowStyle = WindowStyle.SingleBorderWindow;
    225.                     this.WindowState = WindowState.Normal;
    226.  
    227.                     pantalla_completa = false;
    228.  
    229.                 }
    230.             }
    231.  
    232.         }
    233.  
    234.         private void player_MediaOpened(object sender, RoutedEventArgs e)
    235.         {
    236.  
    237.             enalgo = true;
    238.  
    239.             if (player.NaturalDuration.HasTimeSpan)
    240.             {
    241.                 TimeSpan ts = player.NaturalDuration.TimeSpan;
    242.                 linea.Maximum = ts.TotalSeconds;
    243.                 linea.SmallChange = 1;
    244.             }
    245.  
    246.             control_del_tiempo.Start();
    247.         }
    248.  
    249.         private void player_MediaEnded(object sender, RoutedEventArgs e)
    250.         {
    251.             linea.Value = 0;
    252.             enalgo = false;
    253.             if (repeat == true)
    254.             {
    255.                 start_music();
    256.             }
    257.             if (automatic == true)
    258.             {
    259.                 cancion_siguiente();
    260.             }
    261.         }
    262.  
    263.         private void linea_DragStarted(object sender, System.Windows.Controls.Primitives.DragStartedEventArgs e)
    264.         {
    265.             escribiendo = true;
    266.         }
    267.  
    268.         private void linea_DragCompleted(object sender, System.Windows.Controls.Primitives.DragCompletedEventArgs e)
    269.         {
    270.             escribiendo = false;
    271.             player.Position =
    272.                 TimeSpan.FromSeconds(linea.Value);
    273.         }
    274.  
    275.         private void linea_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    276.         {
    277.             player.Position = TimeSpan.FromSeconds(linea.Value);
    278.         }
    279.  
    280.         private void linea_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
    281.         {
    282.             try
    283.             {
    284.                 string tiempo = TimeSpan.FromSeconds(linea.Value).ToString();
    285.                 int cantidad = (int)player.NaturalDuration.TimeSpan.TotalSeconds;
    286.  
    287.                 TimeSpan tiempo_final = TimeSpan.FromSeconds(cantidad);
    288.  
    289.                 Match regex = Regex.Match(tiempo, @"(.*)\.(.*)", RegexOptions.IgnoreCase);
    290.                 if (regex.Success)
    291.                 {
    292.                     progreso.Content = regex.Groups[1].Value + " / " + tiempo_final;
    293.                 }
    294.             }
    295.             catch
    296.             {
    297.                 //
    298.             }
    299.         }
    300.  
    301.         private void nombres_DragEnter(object sender, DragEventArgs e)
    302.         {
    303.             if (e.Data.GetDataPresent(DataFormats.FileDrop))
    304.             {
    305.                 e.Effects = DragDropEffects.Copy;
    306.             }
    307.             else
    308.             {
    309.                 e.Effects = DragDropEffects.None;
    310.             }
    311.         }
    312.  
    313.         private void nombres_Drop(object sender, DragEventArgs e)
    314.         {
    315.             List<string> archivos = You are not allowed to view links. Register or Login List<string>((string[])e.Data.GetData(DataFormats.FileDrop));
    316.             foreach (string archivo in archivos)
    317.             {
    318.                 string nombre = System.IO.Path.GetFileNameWithoutExtension(archivo);
    319.                 string extension = System.IO.Path.GetExtension(archivo);
    320.                 if (extension == ".mp3" || extension == ".avi" || extension==".m4a" || extension==".wma" || extension==".mp4" || extension==".flv" || extension==".mkv" || extension==".wmv" || extension==".mpg")
    321.                 {
    322.                     ListBoxItem item1 = You are not allowed to view links. Register or Login ListBoxItem();
    323.                     item1.Content = nombre;
    324.                     item1.Tag = archivo;
    325.                     lista.Items.Add(item1);
    326.                 }
    327.             }
    328.         }
    329.  
    330.         private void MenuItem_Click(object sender, RoutedEventArgs e)
    331.         {
    332.             OpenFileDialog openFileDialog1 = You are not allowed to view links. Register or Login OpenFileDialog();
    333.             openFileDialog1.Filter = "MP3 (.mp3)|*.mp3|M4A (.m4a)|*.m4a|WMA (.wma)|*.m4a";
    334.             openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
    335.             openFileDialog1.Multiselect = true;
    336.             openFileDialog1.Title = "Select Song";
    337.             Nullable<bool> result = openFileDialog1.ShowDialog();
    338.             if (result == true)
    339.             {
    340.  
    341.                 string[] archivos = openFileDialog1.FileNames;
    342.                 foreach (string archivo in archivos)
    343.                 {
    344.                     string nombre = System.IO.Path.GetFileNameWithoutExtension(archivo);
    345.                     ListBoxItem item1 = You are not allowed to view links. Register or Login ListBoxItem();
    346.                     item1.Content = nombre;
    347.                     item1.Tag = archivo;
    348.                     lista.Items.Add(item1);
    349.                 }
    350.             }
    351.         }
    352.  
    353.         private void MenuItem_Click_1(object sender, RoutedEventArgs e)
    354.         {
    355.             OpenFileDialog openFileDialog1 = You are not allowed to view links. Register or Login OpenFileDialog();
    356.             openFileDialog1.Filter = "MP3 (.mp3)|*.mp3|M4A (.m4a)|*.m4a|WMA (.wma)|*.m4a";
    357.             openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
    358.             openFileDialog1.Multiselect = true;
    359.             openFileDialog1.Title = "Select Song";
    360.             Nullable<bool> result = openFileDialog1.ShowDialog();
    361.             if (result == true)
    362.             {
    363.                 string directorio = System.IO.Path.GetDirectoryName(openFileDialog1.FileName);
    364.                 string[] archivos = Directory.GetFiles(directorio);
    365.                 foreach (string archivo in archivos)
    366.                 {
    367.                     string extension = System.IO.Path.GetExtension(archivo);
    368.                     if (extension == ".mp3" || extension == ".m4a" || extension==".wma")
    369.                     {
    370.                         string nombre = System.IO.Path.GetFileNameWithoutExtension(archivo);
    371.                         ListBoxItem item1 = You are not allowed to view links. Register or Login ListBoxItem();
    372.                         item1.Content = nombre;
    373.                         item1.Tag = archivo;
    374.                         lista.Items.Add(item1);
    375.                     }
    376.                 }
    377.             }
    378.         }
    379.  
    380.         private void MenuItem_Click_2(object sender, RoutedEventArgs e)
    381.         {
    382.             OpenFileDialog openFileDialog1 = You are not allowed to view links. Register or Login OpenFileDialog();
    383.             openFileDialog1.Filter = "avi (.avi)|*.avi|mp4 (.mp4)|*.mp4|flv (.flv)|*.flv|mkv (.mkv)|*.mkv|wmv (.wmv)|*.wmv|mpg (.mpg)|*.mpg";
    384.             openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
    385.             openFileDialog1.Multiselect = true;
    386.             openFileDialog1.Title = "Select Video";
    387.             Nullable<bool> result = openFileDialog1.ShowDialog();
    388.             if (result == true)
    389.             {
    390.                 string[] archivos = openFileDialog1.FileNames;
    391.                 foreach (string archivo in archivos)
    392.                 {
    393.                     string nombre = System.IO.Path.GetFileNameWithoutExtension(archivo);
    394.                     ListBoxItem item1 = You are not allowed to view links. Register or Login ListBoxItem();
    395.                     item1.Content = nombre;
    396.                     item1.Tag = archivo;
    397.                     lista.Items.Add(item1);
    398.                 }
    399.             }
    400.         }
    401.  
    402.         private void MenuItem_Click_3(object sender, RoutedEventArgs e)
    403.         {
    404.             OpenFileDialog openFileDialog1 = You are not allowed to view links. Register or Login OpenFileDialog();
    405.             openFileDialog1.Filter = "avi (.avi)|*.avi|mp4 (.mp4)|*.mp4|flv (.flv)|*.flv|mkv (.mkv)|*.mkv|wmv (.wmv)|*.wmv|mpg (.mpg)|*.mpg";
    406.             openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyMusic);
    407.             openFileDialog1.Multiselect = true;
    408.             openFileDialog1.Title = "Select Videos";
    409.             Nullable<bool> result = openFileDialog1.ShowDialog();
    410.             if (result == true)
    411.             {
    412.                 string directorio = System.IO.Path.GetDirectoryName(openFileDialog1.FileName);
    413.                 string[] archivos = Directory.GetFiles(directorio);
    414.                 foreach (string archivo in archivos)
    415.                 {
    416.                     string extension = System.IO.Path.GetExtension(archivo);
    417.                     if (extension == ".avi" || extension==".mp4" || extension ==".flv" || extension==".mkv" || extension ==".wmv" || extension==".mpg")
    418.                     {
    419.                         string nombre = System.IO.Path.GetFileNameWithoutExtension(archivo);
    420.                         ListBoxItem item1 = You are not allowed to view links. Register or Login ListBoxItem();
    421.                         item1.Content = nombre;
    422.                         item1.Tag = archivo;
    423.                         lista.Items.Add(item1);
    424.                     }
    425.                 }
    426.             }
    427.         }
    428.  
    429.         private void MenuItem_Click_4(object sender, RoutedEventArgs e)
    430.         {
    431.             repeat = true;
    432.         }
    433.  
    434.         private void MenuItem_Click_5(object sender, RoutedEventArgs e)
    435.         {
    436.             repeat = false;
    437.         }
    438.  
    439.         private void MenuItem_Click_6(object sender, RoutedEventArgs e)
    440.         {
    441.             automatic = true;
    442.         }
    443.  
    444.         private void MenuItem_Click_7(object sender, RoutedEventArgs e)
    445.         {
    446.             automatic = false;
    447.         }
    448.  
    449.         private void MenuItem_Click_10(object sender, RoutedEventArgs e)
    450.         {
    451.             player.IsMuted = true;
    452.         }
    453.  
    454.         private void MenuItem_Click_11(object sender, RoutedEventArgs e)
    455.         {
    456.             player.IsMuted = false;
    457.         }
    458.  
    459.         private void MenuItem_Click_8(object sender, RoutedEventArgs e)
    460.         {
    461.             MessageBox.Show("Written By Doddy Hackman in the summer of 2015");
    462.         }
    463.  
    464.         private void MenuItem_Click_9(object sender, RoutedEventArgs e)
    465.         {
    466.             Application.Current.Shutdown();
    467.         }
    468.  
    469.         private void MenuItem_Click_12(object sender, RoutedEventArgs e)
    470.         {
    471.             lista.Items.Clear();
    472.         }
    473.  
    474.     }
    475. }
    476.  
    477. // The End ?
    478.  

    Si quieren bajar el programa lo pueden hacer de aca :

    You are not allowed to view links. Register or Login.
    You are not allowed to view links. Register or Login.

    Eso es todo.

Desconectado 0xc04tl

  • *
  • Underc0der
  • Mensajes: 26
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:[C#] DH Player 1.0

  • en: Marzo 23, 2015, 02:50:31 pm
muy bueno yo estuve haciendo algo similar pero no lo llegue a terminar a vercuando posteo algunas aplicaciones que he realizado graci 8) 8)as

 

[VB.NET] RDYou - Radio, Youtube (Search) (Player)

Iniciado por Aincrad

Respuestas: 0
Vistas: 3118
Último mensaje Septiembre 10, 2018, 08:10:38 pm
por Aincrad
[C#] DH Player 1.2 (Regalo de navidad)

Iniciado por BigBear

Respuestas: 1
Vistas: 3037
Último mensaje Diciembre 26, 2016, 01:23:13 am
por Dr4g0n4Y