OpusFile.h
2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/**
********************************************************************
* @file OpusFile.h
* OpusFile.c OpusFileSave.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef OPUS_FILE_H
#define OPUS_FILE_H
/* Includes ------------------------------------------------------------------*/
#include "JZsdk_Base/JZsdk_Code/JZsdk_Code.h"
//#include "Megaphone/AudioMange/AudioMange_Param.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/* Exported types ------------------------------------------------------------*/
typedef struct T_OpusSaveParam
{
char FileName[128]; //保存的文件名
int saveflag; //如果开启,则按上面的文件名存储到sd卡
int SampleRate; //采样率 指每秒钟对声音信号采样的次数,单位为Hz(赫兹)。常见的采样率有8000Hz、16000Hz、44100Hz、48000Hz等。采样率决定了音频信号的频率范围(最高频率为采样率的一半,即奈奎斯特频率)。
int BitRate; //码率(bitrate):指每秒钟编码后的音频数据所占的比特数,单位为bps(比特每秒)。码率决定了编码后音频文件的大小和音质,通常码率越高,音质越好,但文件也越大。
int Channels; //声道数:默认单声道1
}T_OpusSaveParam;
typedef struct T_JZ_opusInfo {
char name[128];
int size;
int duration;
} T_JZ_opusInfo;
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode OpusFile_PlayFixedFile();
T_JZsdkReturnCode OpusFile_DecodeOpus(unsigned char *opusFile);
T_JZsdkReturnCode OpusFile_DecodeOpusAndSave(int SaveMode, unsigned char *InFile,unsigned char *OutFile);
T_JZsdkReturnCode OpusFile_SetDecodeBitrate(int bitrate);
T_JZsdkReturnCode OpusFile_SetDecodeChannels(int channels);
T_JZsdkReturnCode OpusFile_SetDecodeSampleRate(int sample_rate);
T_JZsdkReturnCode OpusFile_SaveOpusFileStart(T_OpusSaveParam TempOpus);
T_JZsdkReturnCode OpusFile_SaveOpusFileStream(unsigned char* Stream, int StreamLen);
T_JZsdkReturnCode OpusFile_SaveOpusFileEnd(int CheckFlag, unsigned char *CheckCode);
T_JZsdkReturnCode OpusFile_PlayOpus_ByName(char* name);
int OpusFile_GetDecodeFinshFlag();
int OpusFile_GetSaveFlag();
T_JZsdkReturnCode OpusInfo_GetList(T_JZ_opusInfo** list, int* count);
T_JZsdkReturnCode OpusInfo_DeleteAllByName(const char* fileName);
T_JZsdkReturnCode OpusInfo_FlushList();
T_JZsdkReturnCode JZsdk_OpusFileSave_Get_g_TempOpus(T_OpusSaveParam* Param);
T_JZsdkReturnCode OpusInfo_Init();
#ifdef __cplusplus
}
#endif
#endif