Reproducir un archivo Mp3 en una aplicación Windows Form en C#
- Use la aplicación C# Windows Form para crear un reproductor de MP3 simple
-
Utilice la funcionalidad
DirectShow
para crear una aplicación Windows Form Mp3 enC#
Esta publicación demostrará cómo crear un reproductor de mp3 C# simple usando su aplicación Windows Form C# y un Reproductor de Windows Media.
Use la aplicación C# Windows Form para crear un reproductor de MP3 simple
Primero, crearemos un nuevo formulario de Windows siguiendo estos pasos.
-
Abra Microsoft Visual Studio 2017 o una versión actualizada.
-
En la esquina superior izquierda, busque
File
y abra un nuevo proyecto. -
A continuación, elija
Aplicación de Windows Forms
, asígnele un nombre y haga clic enAceptar
. -
Después de hacer clic en
Aceptar
, aparecerá un nuevo formulario de ventana vacía.
Ahora, diseñaremos el formulario.
Después de crear el formulario de Windows, lo diseñaremos. Si no tiene los elementos de Windows Media Player en su Caja de herramientas
, siga estos pasos.
-
Haga clic derecho en
Componentes
y haga clic enElegir elementos
en el área de la caja de herramientas, aparecerá una nueva ventana. -
Seleccione la pestaña
Componentes COM
y haga clic en el elementoReproductor de Windows Media
de la lista.
Adición de elementos:
-
Arrastre y suelte
Windows Media Player
en el formulario, luego ajuste su posición. -
Agregue un
ListBox
y asígnele el nombreLista de audio
para elegir la lista de archivos mp3. -
Ahora agregue un botón de la caja de herramientas y asígnele el nombre
ChooseButton
. Estamos usando un botón para elegir una lista de reproducción, y el cuadro de lista mostrará una lista de reproducción de archivos de audio que se reproducirán enWindows Media Player
cuando seleccione uno del cuadro de lista.
Podemos crear un formulario de Windows de reproductor de MP3 siguiendo estos pasos particulares.
Bibliotecas que se requieren:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
En primer lugar, inicializar dos variables globales de tipo array de cadenas llamadas file
y filepath
.
string[] file, filepath;
Ahora cree una variable de tipo OpenFileDialog
llamada fileOpen
, que se utilizará para iniciar un cuadro de diálogo para seleccionar archivos del almacenamiento.
OpenFileDialog fileOpen = new OpenFileDialog();
Luego aplicaremos una condición y pasaremos lo siguiente como parámetros.
if (fileOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK)
El nombre del archivo se guardará en la variable file
si esta expresión es verdadera.
file = fileOpen.SafeFileNames;
Usando el siguiente comando, almacene la ruta completa del archivo en la variable de ruta llamada filepath
.
filepath = fileOpen.FileNames;
Luego usaremos un bucle for
para agregar archivos de audio en ListBox
.
for (int i = 0; i < file.Length; i++) {
Audiolist.Items.Add(file[i]);
}
Después de eso, genere un evento de clic de ListBox
haciendo doble clic en él.
private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {}
Luego, este código se pega en el cuerpo Audiolista
. Este código transferirá la lista o la ruta a ese archivo a tu Windows Media Player, independientemente del nombre que le des en el ListBox
.
private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {
axWindowsMediaPlayer1.URL = filepath[Audiolist.SelectedIndex];
}
El código fuente para crear un reproductor de mp3 C# simple usando su aplicación Windows Form C# y un reproductor de Windows Media se encuentra a continuación.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Mp3Player {
public partial class Form1 : Form {
string[] file, filepath;
public Form1() {
InitializeComponent();
}
private void ChooseButton_Click(object sender, EventArgs e) {
OpenFileDialog fileOpen = new OpenFileDialog();
if (fileOpen.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
file = fileOpen.SafeFileNames;
filepath = fileOpen.FileNames;
for (int i = 0; i < file.Length; i++) {
Audiolist.Items.Add(file[i]);
}
}
}
private void Audiolist_SelectedIndexChanged(object sender, EventArgs e) {
axWindowsMediaPlayer1.URL = filepath[Audiolist.SelectedIndex];
}
}
}
Utilice la funcionalidad DirectShow
para crear una aplicación Windows Form Mp3 en C#
Utilice la funcionalidad DirectShow
para crear una aplicación Windows Form Mp3 con un Reproductor de Windows Media.
Tlbimp
transforma las definiciones de tipos en una biblioteca de tipos COM en definiciones comparables en un ensamblado ejecutable para un lenguaje común.
La salida de Tlbimp.exe
es un archivo binario (un ensamblado) con metadatos de tiempo de ejecución para los tipos declarados en la biblioteca de tipos original.
Para crear QuartzTypeLib.dll
, siga estos pasos.
-
Ejecute primero la herramienta
tlbimp
. -
Ejecute
TlbImp.exe %windir%\system32\quartz.dll
(Esta ubicación o directorio puede diferir de un dispositivo a otro). -
La salida sería
QuartzTypeLib.dll
. -
Haga clic con el botón derecho del mouse en el nombre del proyecto en
Solution Explorer
, luego seleccione el elemento de menúAgregar
y luegoReferencia
. AgregaráQuartzTypeLib.dll
a su proyecto como una referencia COM. -
Expande
Referencias
en tu Proyecto y busca la referenciaQuartzTypeLib
. CambieIncrustar tipos de interoperabilidad
a falso haciendo clic derecho y seleccionando propiedades. -
Desactive la configuración
Preferir 32 bits
en Configuración del proyecto. Pestaña de compilación si no desea obtener las Excepciones.
Puede usar este código fuente para crear una aplicación Windows Form Mp3.
using QuartzTypeLib;
public sealed class DirectShowPlayer {
private FilgraphManager fgm;
public void Play(string filepath) {
FilgraphManager fgm = new FilgraphManager();
fgm.RenderFile(filepath);
fgm.Run();
}
public void Stop() {
fgm?.Stop();
}
}
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn