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

📄 auctrl.h

📁 C语言编写的监控中心终端程序。基于GPRS上传收发数据功能
💻 H
字号:
#ifndef __AUCTRL_H__
#define __AUCTRL_H__

#include "avapi.h"

void			au_mute(int enable);		// true to mute
void			au_keyshift(int key);		// key ranges from -6 to +6
void			au_volume(unsigned v);		// volume v = 0~511 (0~2.0)

#define	CH_LR			0
#define	CH_LL			1
#define	CH_RR			2
#define	CH_RL			3

void			au_select_channel(int ch_mode);

#define	SE_STEREO		0
#define	SE_THEATER		1
#define	SE_CHURCH		2
#define	SE_LIVE			3
#define	SE_MUSIC_HALL		4
#define	SE_STADIUM		5
#define	SE_ROUND_THEATER	6
#define	SE_MODE_COUNT		7

void			au_sound_effect(int se_mode);

#define	EQ_OFF			0
#define	EQ_USER_DEFINED		1
#define	EQ_STANDARD		2
#define	EQ_CLASSIC		3
#define	EQ_ROCK			4
#define	EQ_JAZZ			5
#define	EQ_POP			6

void			au_eq(int eq_mode);		// select eq mode

//	Band_index : 0~6, db : -12~+12
void			au_eq_user_gain(int band_index, int db);
void			au_spectrum(int enable);	// true to enable spectrum
void			au_mic_volume(unsigned mv);	// mic volume = 0~511 (0~2.0)

/*	4 MIC mode values in low nibble of mic_mode, auto channel selection is in high nibble */
#define	MIC_OFF			0			// user,kernel use
#define	MIC_ON			1			// user,kernel use
#define	MIC_AUTO		2			// ONLY KERNEL USE
#define	MIC_AUTO_L		(2 | (0 << 4))		// user,kernel use
#define	MIC_AUTO_R		(2 | (1 << 4))		// user,kernel use
#define	MIC_AUTO_LR		(2 | (2 << 4))		// user,kernel use
#define	MIC_HW_OFF		3

void			au_mic_mode(int _mic_mode);

/*	Delay = 0~512*3, decay = 0~255 */
void			au_set_echo(int delay, int decay);

int			init_audio(void);		// initialize audio decoder upon bootup
int			reset_audio(int mode);		// reset audio decoder before decoding begin
void			reset_audio_config(void);	// to be complement with stop_audio() function
int			stop_audio(void);		// stop audio decoding and mute until reset_audio() is called.
int			pause_audio(int, int);		// true to pause audio decoder, false to resume.
void			ack_bitstream_change(void);

void			au_main(void);                  // VCD/SVCD/Oko audio decoder main function
void			mp3_main(void);                 // CDROM audio file decoder main function
void			cdda_main(void);                // CDDA audio player main function

/*
 *	Audio decoder status report functions, for debugging only.
 */

#define	AS_WAIT_BITSTREAM	0x0001
#define	AS_WAIT_PCM_FIFO	0x0002
#define	AS_WAIT_AUDIO_HARDWARE	0x0004
#define	AS_DECODING		0x0008
#define	AS_STOP			0x0010
#define	AS_PAUSE		0x0020

int			au_get_decoder_status(void);
int			au_get_bitstream_count(void);
int			au_get_pcm_fifo_count(void);
int			au_get_channel_select(void);
int			au_get_eq_mode(void);
int			au_get_key(void);
int			au_get_mute_flag(void);
int			au_get_volume(void);
int			au_get_mic_mode(void);
int			au_get_mic_volume(void);
int			au_get_sound_effect(void);
unsigned int		mp3_get_bitrate(void);

/*
 *	Get energy of EQ bands. Return 1 if succeed.
 */
int			au_get_spectrum(UINT16 psd[7]);

#define	FDFC_NONE			(0)
#define	FDFC_RECORD			(1)
#define	FDFC_RECORD_AND_DECODE		(0x80 | 1)
#define	FDFC_PLAYBACK			(2)
#define	FDFC_PLAYBACK_AND_DECODE	(0x80 | 2)
#define	FDFC_LIYIN_DECODE		(3)
#define	FDFC_USER_INPUT			(4)		// user mic input only, no recording

enum {
    FDFC_PLAY_STANDARD		= 0,
    FDFC_PLAY_LIYIN1		= 1,
    FDFC_PLAY_LIYIN2		= 2
};

void			au_reset_fudu(int mode);
void			au_set_fudu_play_mode(int fp_mode);

enum {
    FDFC_CODEC_ADPCM		= 0,
    FDFC_CODEC_HALF_ADPCM	= 1,
    FDFC_CODEC_QUARTER_ADPCM	= 2,
    FDFC_CODEC_PCM		= 3		// for testing only
};

#define	FDFC_QUALITY_HIGH	(FDFC_CODEC_ADPCM)
#define	FDFC_QUALITY_STANDARD	(FDFC_CODEC_HALF_ADPCM)
#define	FDFC_QUALITY_LONG	(FDFC_CODEC_QUARTER_ADPCM)

void			au_set_fudu_codec(int fc_mode);
void			au_stop_fudu(void);
int			au_is_fudu_stopped(void);
int			au_is_fudu_silence_play(void);

/*	Scoring functions */
void			reset_scoring(int ch);
void			stop_scoring(void);
void			polling_scoring(void);
int			get_local_score(void);
int			get_score(void);
int			is_scoring(void);

int			cdda_esp_free_space(void);
void			cdda_esp_enable(int enable);
unsigned int		adpcm_buffer_count(void);
unsigned int		adpcm_buffer_free_count(void);		// for esp free sample count
void			cdda_ack_track_change(void);
unsigned int		cdda_get_second_counter(void);

unsigned int		mp3_get_bitrate(void);

void			set_44k_audio_dac(unsigned char dac_flag);
unsigned char		is_fix_44k_dac(void);

#endif	__AUCTRL_H__

⌨️ 快捷键说明

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