QT 6.6.0 中基于SDL2,SDL2_ttf,SDL2_image,SDL2_mixer实现音频播放器(改进版)
上一篇博文实现了简单的音频播放功能,可以看到上次我们并没有实现暂停等功能,而且也只能加载WAV格式的音频文件,但是如果要加载MP3等格式的音频文件呢,因此本文主要是基于SDL2, SDL2_ttf, SDL2_image ,SDL2_mixer来实现一个简单的音频播放功能,建议读者先去看前一篇博文的内容,然后来看本文也需要会更好理解。
目录
上一篇博文利用SDL2库创建的界面实现音频播放 实现了简单的音频播放功能,可以看到上次我们并没有实现暂停等功能,而且也只能加载WAV格式的音频文件,但是如果要加载MP3等格式的音频文件呢,因此本文主要是基于SDL2, SDL2_ttf, SDL2_image ,SDL2_mixer来实现一个简单的音频播放功能,建议读者先去看前一篇博文的内容,然后来看本文也需要会更好理解。
从最初使用QT中mediamulti的模块实现了一个简单的额音频播放器,到现在使用相关的SDL库实现了音频播放器,整个过程都是清晰和比较完整的,我相信坚持到这里的小伙伴一定有了不少的收获,也感谢大家的观看。
现在来绘制一下已经实现了的音频播放器案例的学习路线(后期的学习计算未给出):


实现思路
- 初始化音频播放系统;
- 打开音频设备;

MIX_INIT_MP3:支持 MP3 格式。
MIX_INIT_OGG:支持 Ogg Vorbis 格式。
MIX_INIT_FLAC:支持 FLAC 格式。
MIX_INIT_MOD:支持 MOD(包括 XM、IT、S3M 等)格式。
MIX_INIT_OPUS:支持 Opus 格式。
MIX_INIT_WAVPACK
MIX_INIT_MID
- 加载音频文件MP3,WAV等音频文件格式;
- 播放音频或者暂停播放音频(暂停播放音频需要记录暂停的位置,以便于下次接着暂停的位置继续播放);

- 渲染时间进度以及总的时间;

- 关闭音频设备以及回收申请的资源。
Mix_FreeMusic(music);
Mix_CloseAudio();
SDL2_mixer利用自带窗口实现音频播放器(改进)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)