五、FFmpeg-用SDL播放音频

本文介绍了如何使用FFmpeg和SDL播放音频,包括音频相关知识、设置音频、音频包队列、处理异常情况、把音频数据包放入队列、从队列中取出音频数据包以及音频解码的详细步骤。通过创建队列和回调函数,实现了音频的顺畅播放。
摘要由CSDN通过智能技术生成

一、音频相关知识

在这一章中,我们要做的事是播放音频,首先呈上本章程序的主要流程图

SDL也有播放音频的方法,SDL_OpenAudio()函数就是用来打开音频设备的。这个函数需要一个SDL_AudioSpec结构体作为参数,该结构包含了音频播放的参数信息。

在正式开始处理工作前,先来了解下计算机是怎么处理音频的。数字音频是由一长串的样本(samples)流组成的。每个sample表示声音波形中的一个值。音频按照特定的采样率(sample rate)进行录制,采样率表示每秒采样的次数,它也决定了音频流播放的速度。22050和44100的采样率是电台和CD常用的采样率。大多音频有多个音频通道用于表示立体声或者环绕。例如,如果采样是立体声,那么每次的采样数就为2个。每次我们从视频文件中读数据的时候,是没法决定读取到多少个样本的,但是ffmpeg不会给我们部分的样本——这意味着它将不会把立体声分割开来。

SDL播放音频流程是这样的:先设置音频的选项,如采样率(在SDL的结构体中叫做“freq”,即frequency),通道数和其它的参数,然后给它设置一个回调函数和一些用户数据&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Storm-Shadow

你的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值