SDL2_mixer
安装SDL2_mixer之前必须安装SDL2。
另外安装SDL2_mixer之前需要安装些其他的库.当然这些库不是必须安装的。
libmpg123
下载mpg123-1.26.2.tar.bz2
./configure LDFLAGS=-L/usr/local/SDL2-2.0.7/lib SDL_LIBS=-lSDL2 --enable-static --enable-shared
--enable-shared选项可以不指定,该选项默认是开启的。
make
make install
安装SDL2_mixer
./configure --prefix=/usr/local/SDL2_mixer-2.0.4 --with-sdl-prefix=/usr/local/SDL2-2.0.7 CPPFLAGS=-I/usr/local/SDL2-2.0.7/include/SDL2 LDFLAGS=-L/usr/local/SDL2-2.0.7/lib --disable-sdltest
./configure --prefix=/usr/local/SDL2_mixer-2.0.4_2 --with-sdl-prefix=/usr/local/SDL2-2.0.7 CFLAGS=-I/usr/local/SDL2-2.0.7/include/SDL2 LDFLAGS=-L/usr/local/SDL2-2.0.7/lib --disable-sdltest --enable-music-mp3 --enable-music-mp3-mad-gpl --enable-music-mp3-mad-gpl-dithering
记得指定--disable-sdltest,不然可能会出现如下错误:
checking for SDL - version >= 2.0.7... no
*** Could not run SDL test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl2-config script: /usr/local/SDL2-2.0.7/bin/sdl2-config
configure: error: *** SDL version 2.0.7 not found!
如果没安装libmpg123,会出现这些提示警告:
checking mpg123.h usability... no
checking mpg123.h presence... no
checking for mpg123.h... no
checking for mpg123_replace_reader_handle in -lmpg123... no
configure: WARNING: *** Unable to find mpg123 library (https://www.mpg123.de)
configure: WARNING: mpg123 support disabled
configure: WARNING: MP3 support disabled
make
在make之前,把Makefile和libtool中的-mno-cygwin都去掉,不然可能会出现以下错误:
gcc: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler.
当然这里提示使用mingw-targeted cross-compiler,不过我换了之后make也会报些其他的错误:
/usr/lib/gcc/i686-w64-mingw32/4.5.3/../../../../i686-w64-mingw32/bin/ld: cannot find -lcygwin
collect2: ld returned 1 exit status
Makefile:65: recipe for target `build/libSDL2_mixer.la' failed
make: *** [build/libSDL2_mixer.la] Error 1
/usr/i686-w64-mingw32/sys-root/mingw/lib/libmingw32.a(lib32_libmingw32_a-merr.o): In function `_matherr':
/usr/src/debug/mingw64-i686-runtime-3.0b_svn5747-1/crt/merr.c:38: multiple definition of `__matherr'
/lib/libcygwin.a(t-d000433.o):fake:(.text+0x0): first defined here
collect2: ld returned 1 exit status
Makefile:68: recipe for target `build/playwave.exe' failed
make: *** [build/playwave.exe] Error 1
make install
将./build/.libs中的playmus.exe,playwave.exe拷贝到/usr/local/SDL2_mixer-2.0.4/bin目录下:
cp -rf ./build/.libs/*.exe /usr/local/SDL2_mixer-2.0.4/bin
将SDL2的SDL2.dll库拷贝到/usr/local/SDL2_mixer-2.0.4/bin目录下:
cp -rf /usr/local/SDL2-2.0.7/bin/SDL2.dll /usr/local/SDL2_mixer-2.0.4/bin
不然的话,运行上面两个命令的时候会报找不到SDL2.dll库。
由于是在Cygwin下安装,playmus.exe,playwave.exe这两个命令只能在Cygwin下运行。
安装后的目录结构:
│ playmus.exe
│ playwave.exe
│ SDL2.dll
│ SDL2_mixer.dll
│
├─include
│ └─SDL2
│ SDL_mixer.h
│
└─lib
│ libSDL2_mixer.a
│ libSDL2_mixer.dll.a
│ libSDL2_mixer.la
│
└─pkgconfig
SDL2_mixer.pc
播放wav音频
./playwave.exe h:\\yuganqingwuguan.wav
./playmus.exe h:\\yuganqingwuguan.wav
相关推荐
**SDL_mixer-1.2.12:游戏音频混合库详解** `SDL_mixer`是一个开源的跨平台多媒体库,专为游戏开发者设计,用于处理音频混合、音乐播放和音效管理。这个版本是1.2.12,虽然相对较老,但在许多遗留项目或对稳定性和...
#include <SDL2_mixer.h> int main(int argc, char* argv[]) { if (SDL_Init(SDL_INIT_AUDIO) ) { printf("SDL_Init Error: %s\n", SDL_GetError()); return -1; } if (Mix_Init(MIX_INIT_OGG) != MIX_INIT_...
`SDL_mixer-1.2.11` 是一个开源的音频处理库,它是基于 `Simple DirectMedia Layer`(简称SDL)的扩展库。这个版本是1.2.11,专为处理多媒体音频而设计,支持多种音频格式,使开发者能够在他们的应用程序中轻松集成...
虽然标题中提到的"Delphi"通常与Pascal编程语言和其对应的开发环境相关,而SDL_mixer主要被C/C++开发者使用,但存在一些社区提供的第三方绑定(如Delphi bindings),使得Delphi开发者也能利用SDL_mixer的功能。...
《SDL_mixer在Windows开发中的应用详解》 SDL_mixer是一个强大的开源音频混音库,专为游戏开发和其他需要音频处理的应用程序设计。在本文中,我们将深入探讨SDL_mixer-devel-1.2.11-VC.zip这个压缩包,它是针对...
自rust-sdl2v0.27起,此板条箱已弃用,其功能...要求Rust-SDL2 SDL2_mixer开发库最新稳定的Rust主OSX brew安装sdl2_mixer --with-flac --with-fluid-synth --with-libmikmod --with-libmodplug --with-libvorbis --wit
**步骤2:安装依赖项** 在编译和安装SDL2之前,需要确保系统中有必要的编译工具和依赖库: ```bash sudo yum install -y gcc autoconf automake libtool pkg-config ``` **步骤3:解压SDL2源码并编译安装** ```bash...
1. **安装SDL库**:在Linux环境下,可以通过包管理器如`apt`(Ubuntu/Debian)或`yum`(Fedora/CentOS)来安装SDL库。例如,使用`apt-get install libsdl2-dev`命令可以获取开发所需的库文件和头文件。 2. **头文件...
SDL2_image可以与SDL2_ttf(文本渲染)、SDL2_mixer(音频处理)和SDL2_net(网络功能)等库配合使用,构建完整的多媒体应用。 9. **版本更新** 在给定的压缩包文件中,包含的是SDL_image-1.2.4版本。虽然这是...
- **视频播放**:结合SDL_mixer,可以播放音频文件和视频流。 - **物理模拟**:与Box2D等物理引擎结合,实现游戏中的物理行为。 - **网络通信**:利用SDL_net库,实现网络连接和数据传输。 ### 5. 总结 SDL2是一个...
SDL_mixer-1.2.11;SDL_ttf-2.0.10; SDL_net-1.2.7;SDL-1.2.15;几个源码包和为一个包,但是我不推介用源码安装的方法,最好用命令安装,但是看源码可以让你知道程序调用的原理,还可以截取其中的代码来实现自己的功能...
教程通常会从安装和配置SDL环境开始,确保开发者可以在各自的平台上运行SDL程序。接着,它会介绍SDL的核心概念,如窗口管理、渲染系统、图像加载和显示、事件处理以及声音播放。对于初学者来说,理解这些基本概念是...
10. **扩展库**:有许多基于SDL2的扩展库,如SDL_ttf用于文本渲染,SDL_image处理图像加载,SDL_mixer处理音频混合等。 在实际使用中,开发者需要了解如何配置和编译SDL2源代码,以及如何在项目中集成和使用它的API...
"audio-demo" 这个标题暗示了一个示例项目,它演示了如何在使用SDL2(Simple DirectMedia Layer 2)图形库的OpenGL应用程序中集成SDL2_Mixer库来添加声音效果和音乐播放功能。SDL2_Mixer是SDL2的一个扩展库,专门...
同时,项目还使用了SDL2的几个扩展库:SDL2_image、SDL2_mixer和SDL2_ttf。这些扩展库分别提供了图像加载、音频混音和TrueType字体的支持,极大地丰富了SDL2的功能。 - SDL2_image:这个库使得开发者能够加载和渲染...
SDL2 扩展库 虽然SDL为多个系统提供了广泛的API,但它忽略了某些领域,而在其他领域缺乏功能。扩展库解决了这个问题,以模块化方式添加了更多功能。 热门扩展: SDL_Image 加载各种类型的图像 SDL_Mixer 提供声音...
5. **视频播放**:通过添加额外的库,如SDL_mixer和SDL_image,可以实现音视频播放功能。 6. **窗口管理**:提供创建和管理窗口的功能。 7. **兼容性**:与许多编程语言结合良好,如C、C++、Python等。 然而,SDL ...
SDL2-2.0.1.tar.gz SDL2_gfx-1.0.0.tar.gz SDL2_image-2.0.0.tar.gz SDL2_ttf-2.0.12.tar.gz SDL2_mixer-2.0.0.tar.gz SDL2_net-2.0.0.tar.gz tslib-1.4.tar.bz2(gfx 依赖)freetype-2.4.8.tar.bz2(ttf 依赖) ...
描述中提到的"sdl2.dll、sdl2_image.dll、SDL2_mixer.dll"是SDL2的核心组件和扩展库: 1. `sdl2.dll`:这是SDL2的主要动态链接库,提供了基本的窗口管理、事件处理、渲染、定时器和文件加载等功能。 2. `sdl2_image....
- **SDL_mixer**:音频混音库,支持多个音轨混合。 - **SDL_net**:网络通信库,可用于游戏的多人对战功能。 3. **编程实践**: - **初始化和退出**:程序开始时需调用`SDL_Init()`初始化SDL,结束后用`SDL_Quit...