📄 demog723.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 + -