函数及结构体总结
1.<a target=_blank href="http://wiki.libsdl.org/SDL_OpenAudio">SDL_OpenAudio()</a> //打开音频设备
2.SDL_AudioSpec<span style="white-space:pre"> </span> //结构体
3.PacketQueue结构体
typedef struct PacketQueue{
AVPacketList *first_pkt, *last_pkt;//链表结构体
int nb_packets;//包累计数量
int size; //包的累计字节大小
SDL_mutex *mutex;//互斥量
SDL_cond *cond;//条件变量
}PacketQueue;
4.void packet_queue_init(PacketQueue *q)//初始化队列
5.int packet_queue_put(PacketQueue *q, AVPacket *pkt)//将packet包放入队列中
6.static intpacket_queue_get(PacketQueue *q, AVPacket *pkt, int block )//从队列中取出一个包
7.void audio_callback(void *userdata, Uint8 *stream, int len)//音频回调函数,用于提供给SDL_AudioSpec结构体
8.int audio_decode_frame(AVCodecContext *aCodecCtx, uint8_t *audio_buf , int buf_size)//真正意义上的解码一帧
9.SDL_PollEvent(&event);//轮寻,没有接收到事件一直循环,CPU占用率高,不如直接用SDL_WaitEvent()
10.SDL_PauseAudio(0);//打开音频设备,启用回调函数。参数为0,不暂停,非零暂停使用回调函数。
ffmpeg+SDL Tutorial 03--播放音频
最新推荐文章于 2023-11-24 16:57:57 发布