Playing sounds with C++?

前端 未结 5 991
刺人心
刺人心 2021-02-06 16:10

How would i make it so in my program there is a button when that button is clicked i want it to play a .wma file without opening and media player?

相关标签:
5条回答
  • 2021-02-06 16:50

    Gstreamer is a free, cross-platform multimedia framework written in C (using GObject) that allows encoding/decoding for many types of media, including wma. Very easy to use and well documented.

    0 讨论(0)
  • 2021-02-06 16:51

    For Windows, in all honesty your best bet is DirectShow. The RenderFile API allows you to play most audio file types with just a few lines of code.

    The best part about DirectShow is that it's a part of the Windows platform so you don't need to bundle an external component.

    0 讨论(0)
  • 2021-02-06 16:55

    The C++ standard does not include this functionality. That means it depends on what your system offers.

    For Windows, you can try something like PlaySound.

    However, you best bet is to use a pre-existing library, like:

    • OpenAL
    • BASS
    • FMOD
    • SDL's: Sound.

    Searching for C++ Sound Library brings up a lot of information.

    Also, check out these three other SO topics:

    • What Is The Best C++ Sound API For Windows?
    • How to play MP3 files in C?
    • Learning to work with audio in C++
    0 讨论(0)
  • 2021-02-06 16:56

    Although the above answer mentions it (and everything else, it doesn't give any recommendations so...), FMOD is the king of C++ sound (the most used) and works great so I'd recommend FMOD in particular.

    0 讨论(0)
  • 2021-02-06 17:01

    KDE's Phonon is a cross-platform(!) C++ multimedia library. It supports native sound systems as backends. Worth a look if you haven't seen it before, and a simple video player can be written in a mere 83 lines of code.

    0 讨论(0)
提交回复
热议问题