使用SDL2_mixer库播放MP3音乐

本文档详细介绍了如何在Ubuntu 16.04上利用SDL2_mixer库进行MP3音乐播放。内容包括开发环境准备、所需的头文件和库文件,以及播放音乐的流程,如初始化、加载音乐、播放控制和关闭音频等。同时提到了Mix_HookMusic和Mix_HookMusicFinished两个钩子函数,用于在音乐播放过程和结束时设置回调。
摘要由CSDN通过智能技术生成

使用SDL2_mixer库播放MP3音乐

运行环境:Ubuntu:16.04

开发环境准备

  1. 安装libsdl2-mixer-dev
~$ sudo apt install libsdl2-mixer-dev

需要包含的头文件

#include <SDL2/SDL.h>
#include <SDL2/SDL_mixer.h>

需要链接的库文件

set(CMAKE_CXX_FLAGS "-pthread ${CMAKE_CXX_FLAGS}")
target_link_libraries(app
    SDL2
    SDL2_mixer
    )

流程

-> Mix_Init
-> Mix_OpenAudio
-> Mix_LoadMUS / Mix_LoadWAV
-> Mix_PlayMusic / Mix_FadeInMusic / Mix_PlayChanel / Mix_FadeInChannel
-> Others User Operations
-> Mix_HaltMusic / Mix_FadeOutMusic / Mix_HaltChannel / Mix_FaleOutChannel
-> Mix_CloseAudio
-> Mix_Quit

钩子函数

  • Mix_HookMusic: 用于设置音乐播放过程中的回调
  • Mix_HookMusicFinished: 用于设置音乐播放结束时的回调

示例代码(C++11)

#include <SDL2/SDL.h>
#include <SDL2/SDL_mixer.h>
#include <oyoung/defer.hpp>
#include <sspdlog/sspdlog.h>

#include <csignal>
#include <functional>

static std::function<void()> on_signal;

void signal_TERM_handle(int) {
   
    if(on_signal) on_signal();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值