Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Play wav/mp3 from memory

I play mp3/wav from file to create a push effect. However on an Atom CPU based tablet PC, there is a delay when I touch the button.

I'll try to play wav/mp3 from memory instead of file system. Can anyone give a code snippet or a clue?

System.Media.SoundPlayer player = new System.Media.SoundPlayer();
player.SoundLocation = System.Windows.Forms.Application.StartupPath + "\\beep-7.wav";
player.Play();
like image 684
Nime Cloud Avatar asked Jun 14 '11 08:06

Nime Cloud


People also ask

How do I listen to a WAV file?

Since WAV is quite a popular format, almost all devices today support it using built-in media players. On Windows, the Windows Media Player is capable of playing WAV files. On MacOS, iTunes or QuickTime can play WAV files. On Linux, your basic ALSA system can play these files.

What devices play WAV files?

WAV file, also Waveform Audio File Format, is a Microsoft and IBM audio file format standard for storing an audio bitstream on PCs. Windows Media Player, the built-in player on Windows computer supports the WAV playback directly. Still on Mac, QuickTime also supports WAV file opening and playing on Mac.

How do I play WAV files on Android?

In addition to playing WAV files on Android through converting WAV to Android supported formats, you can use a WAV player for Android or an Android music player which enables to open and play wav on Android as well, such as “Remote Wave Free”. If you have VLC Media Player, you can use VLC to convert WAV files too.


1 Answers

Something like this?

public class MediaPlayer
{
    System.Media.SoundPlayer soundPlayer;

    public MediaPlayer(byte[] buffer)
    {
        var memoryStream = new MemoryStream(buffer, true);
        soundPlayer = new System.Media.SoundPlayer(memoryStream);
    }

    public void Play()
    {
        soundPlayer.Play();
    }

    public void Play(byte[] buffer)
    {
        soundPlayer.Stream.Seek(0, SeekOrigin.Begin);
        soundPlayer.Stream.Write(buffer, 0, buffer.Length);
        soundPlayer.Play();
    }
}
like image 150
Alex Aza Avatar answered Oct 19 '22 23:10

Alex Aza