最简单的基于FFMPEG+SDL的音频播放器 拆分-解码器和播放器

本文介绍了如何使用FFmpeg进行音频解码以及SDL实现音频采样数据播放。通过FFmpeg音频解码器将音频数据转换为PCM采样数据,再利用SDL音频采样数据播放器将PCM数据输出到音频设备。提供了源代码及运行结果,并提供下载链接。
摘要由CSDN通过智能技术生成
               

=====================================================

最简单的基于FFmpeg的音频播放器系列文章列表:

《最简单的基于FFMPEG+SDL的音频播放器》

《最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)》

《最简单的基于FFMPEG+SDL的音频播放器:拆分-解码器和播放器》

=====================================================


 本文补充记录《最简单的基于FFMPEG+SDL的音频播放器》中的两个例子:FFmpeg音频解码器和SDL音频采样数据播放器。这两个部分是从音频播放器中拆分出来的两个例子。FFmpeg音频解码器实现了视频数据到PCM采样数据的解码,而SDL音频采样数据播放器实现了PCM数据到音频设备的播放。简而言之,原先的FFmpeg+SDL音频播放器实现了:

音频数据->PCM->音频设备

FFmpeg音频解码器实现了:

音频数据->PCM

SDL音频采样数据播放器实现了:

PCM->音频设备

FFmpeg音频解码器

源代码

/** * 最简单的基于FFmpeg的音频解码器 * Simplest FFmpeg Audio Decoder * * 雷霄骅 Lei Xiaohua * leixiaohua1020@126.com * 中国传媒大学/数字电视技术 * Communication University of China / Digital TV Technology * http://blog.csdn.net/leixiaohua1020 * * 本程序可以将音频码流(mp3,AAC等)解码为PCM采样数据。 * 是最简单的FFmpeg音频解码方面的教程。 * 通过学习本例子可以了解FFmpeg的解码流程。 * * This software decode audio streams (AAC,MP3 ...) to PCM data. * Suitable for beginner of FFmpeg. * */#include <stdio.h>#include <stdlib.h>#include <string.h>#define __STDC_CONSTANT_MACROS#ifdef _WIN32//Windowsextern "C"{
   #include "libavcodec/avcodec.h"#include "libavformat/avformat.h"#include "libswresample/swresample.h"};#else//Linux...#ifdef __cplusplusextern "C"{
   #endif#include <libavcodec/avcodec.h>#include <libavformat/avformat.h>#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值