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

📄 demog723.c

📁 The combined demo is dedicated for S1C33L05, so DMT33L05 should be used to load and run the demo. F
💻 C
字号:
/*
 *  Copyright (C) SEIKO EPSON CORP.2001
 *  All Rights Reserved
 *
 *  File name : demog723.c
 *  Function  :
 *      G723.1 Annex A decoder sample program
 *  Revision  :
 *      Ver 0.10 2000/10/27  Y.Uchiyama  Start
 *      Ver 0.20 2001/01/11  N.Komatsu   Add prefix
 *      Ver 0.30 2001/03/01  N.Komatsu   Add playing original sound
 *      Ver 0.40 2001/05/25  N.Komatsu   Add the argument to "g723aSpeak()" and 
 *                                       "pcmPlay()" function.
 */

#include "Speak.h"
#include "g723adec.h"

#define CPU_CLOCK		48000000
#define SAMPLING_RATE   8000

extern unsigned char 	*gSpkParams;

void Demog723Play(unsigned char*);
void Demog723Stop(void);


void Demog723Play(unsigned char* Data)
{
	*(volatile unsigned char*)0x402dc &= 0xfb;	//P32 function
	*(volatile unsigned char*)0x402dd |= 0x04;	//high
	*(volatile unsigned char*)0x402de |= 0x04;	//P32 output
	
	*(volatile unsigned char*)0x402d8 &= 0x3f;	//P26,P27 function
	*(volatile unsigned char*)0x402d9 &= 0x3f;	//low
	*(volatile unsigned char*)0x402da |= 0xc0;	//output

	setSpeakVolume(0x100);

	*(volatile unsigned char*)0x402dd &= 0xfb;	//low

    gSpkParams = g723aSpeak(Data, CPU_CLOCK);
    
    if(gSpkParams == 0)
    	return;
//	do { }
//	while(SpkIsRunning(gSpkParams));
}

void Demog723Stop(void)
{
    *(volatile unsigned char*)0x402dd |= 0x04;	//high
	
	if(gSpkParams == 0L)
		return; 
	
    if(SpkIsRunning(gSpkParams))
    {
	    SpkClose(gSpkParams);
	    gSpkParams = 0L;
    }
}
	
void Demog723Pause(void)
{
	SpkHalt(gSpkParams);	
}

void Demog723Continue(void)
{
	SpkStart(gSpkParams);
}

⌨️ 快捷键说明

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