Desenvolvimento - Visual Basic .NET

MP3 player com DirectX

Demonstração de como utiizar o Microsoft DirectX SDK para executar MP3.

por Oscar Casagrande



Requisitos

Windows XP com framework 2.0 ou superior
DirectX SDK 2006 ou  superior
Visual Studio 2008 ou compatível

1º Instalar Microsoft DirectX SDKl

Vamos lá pessoal, algum dia na vida qualquer um aqui já tentou executar um MP3 utilizando .NET correto? Aí vamos lá e adicionamos um objeto SoundPlayer do namespace System.Media, quando utilizávamos o método Play()! PAN! Não é possível executar o arquivo pois o SoundPlayer não suporta o MP3. Utilizaremos o DirectX para nos auxiliar com isso, para isso a primeiro que devemos fazer é baixar DirectX Software Development Kit no site do Microsoft através do link http://www.microsoft.com/downloads/details.aspx?FamilyID=1fd20df1-dec6-47d0-8bef-10e266dfdab8&DisplayLang=en, apenas 443 MB.

No meu caso eu tive que executar um mp3 em um dashboard de Call Center, o cliente queria colocar um telão no Call Center com (o gerente desse projeto foi mandado embora antes da conclusão do projeto, então essa parte do telão não rolou... vai vendo rsrs) e toda vez em que o nível de atendimento estava abaixo no mínimo aceitável o sistema tinha que tocar uma sirene, bem fizemos um esquema para ler wav, mas nossa vontade era fazer com mp3!!! Coisas de desenvolvedor, bem fizemos, mas não foi para produção, não deu tempo, não importa, o importante é que o DirectX vai nos ajudar com o nosso MP3.

2º Criar um projeto Windows Forms Application

Agora com o DirectX SDK crie um novo projeto do tipo Windows Forms Application com o nome que você achar melhor, bem, não mostrar com usar o OpenFileDialog, isso fica para outro artigo.

3º Adicionar as referências

Vá ao menu “Project”, clique em “Add Reference”, na aba “.NET”, adicione as referencias “Microsoft.DirectX” e “Microsoft.DirectX.AudioVideoPlayback”.

4º Adicionar caminho do mp3

Dê um clique duplo no formulário, agora no método Form_Load, crie uma variável do tipo string com o nome musica e sete o valor dela como o caminho para o seu arquivo mp3 (pois é, um arquivo mp3!!!! Hehe).

5º Adicionar objeto Microsoft.DirectX.AudioVideoPlayback.Audio

Adicione um objeto do tipo Audio (Microsoft.DirectX.AudioVideoPlayback.Audio) com o nome audio, instancie audio como um novo Audio, e passe como parâmetro o objeto musica no construtor.

6º Executar “Play”

Agora execute o método “Play” do objeto audio.

7º Código fonte

Abaixo estão os códigos fonte em VB.NET e C#(Sharp).

VB.NET

Imports Microsoft.DirectX.AudioVideoPlayback

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim musica As String = "C:\Documents and Settings\oscar\Meus documentos\Minhas músicas\Top Gun - Danger Zone.mp3"

        Dim audio As Audio

        audio = New Audio(musica)

        audio.Play()

    End Sub

End Class

C# (Sharp)

using System;

using System.Windows.Forms;

using Microsoft.DirectX.AudioVideoPlayback;

namespace DirectXPlayer

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            string musica = @"C:\Documents and Settings\oscar\Meus documentos\Minhas músicas\Top Gun - Danger Zone.mp3";

           

            Audio music;

            music = new Audio(musica);

            music.Play();

        }

    }

}

Referencias

http://msdn.microsoft.com/en-us/directx/aa937788.aspx

http://msdn.microsoft.com/en-us/directx/default.aspx

http://msdn.microsoft.com/en-us/aa937791.aspx

Pessoal, é só isso, como vocês podem ver é super fácil, espero que tenha agregado conhecimento. Até a próxima.

Oscar Casagrande

Oscar Casagrande - Técnico em Processamento de Dados pelo Colégio Técnico Elevação, tecnólogo em Desenvolvimento de Sistemas para Web no Instituto Brasileiro de Tecnologia Avançado (IBTA, agora Instituto Veris) e fazendo pós-graduação em Engenharia de Sistemas com ênfase em SOA no Instituto Veris.
Blog:
http://oscarcasagrande.blogspot.com.