⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sound_mixplay_pub.h.svn-base

📁 A Flash Player with ActionScript support. Write in C and C++. It have two part, one is Player and an
💻 SVN-BASE
字号:
#ifndef _SOUND_MIXPLAY_H_#define _SOUND_MIXPLAY_H_#include <pthread.h>#include <glib.h>#include <inttypes.h>#include "mpg123.h"#include "mpglib.h"#include "base_types.h"/* 1. 整体概述 * ========================= *  * 1.1 数据 * --------- * 此模块中使用的数据结构如下 *  *         pcm_block_head *              | | * channel <- pcm_block -> pcm_block -> pcm_block  *              | | * channel <- pcm_block -> pcm_block  *              | | * channel <- pcm_block -> pcm_block -> pcm_block  * * 其中纵向由双向链表连接各个 channel 及其数据, * 每行的中央节点左侧为描述此 channel 的结构,而 * 中央节点及其右侧为此 channel 的 pcm 声音数据. *  * 1.2 函数 * --------- * sound_init   用于初始化声音设备. * * mix_and_play 用于连续不断的将链表中的各 channel  *              的声音合成,并播放. *//* 2. 结构体说明 * ========================== * * 2.1 pcm_block * -------------- * pcm_block 包含三类信息, * 1. 指针信息, 包括指向 上下左右 各方向的指针. * 2. 声音数据, 包括数据本身,及播放位置的指针等. */struct pcm_block {    struct pcm_block	*next_p;    struct pcm_block	*upchannel_p;    struct pcm_block	*downchannel_p;    struct channel	*channel_p;	//这个 block 隶属的 channel    int			pos;		//在块中 播放到 的位置    int			length;		//数据块中有效数据的长度#define BUF_LENGTH	5120    UI8			data[BUF_LENGTH];};/* 2.2 channel * ------------ * 指明此通道的类型,及各种类型特有的中间数据 * 2. 声音参数, 包括所携带的声音数据的采样频率,是否立体声等信息. */struct channel {    UI8			type;		// channel 类型#define STREAM_CHANNEL	1#define DEFINE_CHANNEL  2    uint8_t		mono_stereo;    uint8_t		sample_size;    uint16_t		dsp_speed;    GNode		*belong_node_p;	// 当 channel 为 stream block 时,指明所属的 mc node    struct mpstr	mp;		//};void snd_mixplay_do(void);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -