| #include <stdio.h> |
| #include <stdlib.h> |
| #include <stdint.h> |
| #include <string.h> |
| #include <signal.h> |
| |
| #include <linux/volte_drv.h> |
| #include "../libaudiomix/include/audiomix_lib.h" |
| |
| T_ZDrvAudioMix_Cfg testParam; |
| #define BUFFER_BYTES 1024//×î´ó1024×Ö½Ú |
| int main(int argc, char **argv) //×¢Ê͵ô±àÒë¿ÉÖ´ÐÐÎļþ+++++ |
| { |
| FILE *file; |
| |
| char *filename; |
| int more_chunks = 1; |
| unsigned char buffer[BUFFER_BYTES] = {0}; |
| int ret = 0; |
| |
| testParam.sample_rate = 8000;//Òª±£Ö¤Í¬²ÉÑùƵÂÊ(½öÏÞ16KºÍ8K) |
| testParam.audioType = 1;//1-TX,2-RX//RX±»×¢Ê͵ô£¬Ö§³ÖºóÐøÀ©Õ¹ |
| |
| printf("enter main\n"); |
| |
| if (argc < 2) { |
| fprintf(stderr, "Usage: %s \n", argv[0]); |
| printf("Usage: %s \n", argv[0]); |
| return 1; |
| } |
| |
| filename = argv[1]; |
| file = fopen(filename, "rb"); |
| printf("fopen '%s' end\n", filename); |
| if (!file) { |
| fprintf(stderr, "Unable to open file '%s'\n", filename); |
| printf("Unable to open file '%s'\n", filename); |
| return 1; |
| } |
| |
| fseek(file, 0, SEEK_SET); |
| long begin = ftell(file); |
| fseek(file, 0, SEEK_END); |
| long end = ftell(file); |
| long file_size = end - begin;//×Ö½ÚÊý |
| int read_times = 0; |
| int remain_size = 0; |
| |
| fseek(file, 0, SEEK_SET);//ÖØÐÂÖûØÎļþ¿ªÍ· |
| |
| printf("zDrvAudioMix_Open start, file size is %ld\n", file_size); |
| ret = zDrvAudioMix_Open(&testParam); |
| if(ret != 0) |
| return 1; |
| printf("zDrvAudioMix_Open end\n"); |
| |
| while (more_chunks){ |
| more_chunks = fread(buffer, sizeof(buffer), 1, file); |
| |
| if(more_chunks == 1){ |
| read_times++; |
| ret = zDrvAudioMix_Write(buffer, sizeof(buffer)); |
| if(ret != 0) |
| break; |
| } |
| else{ |
| remain_size = file_size - read_times * sizeof(buffer); |
| printf("more_chunks=%d, read_times=%d, remain_size is %d\n", more_chunks, read_times, remain_size); |
| if(remain_size == 0) |
| break; |
| ret = zDrvAudioMix_Write(buffer, remain_size); |
| if(ret != 0) |
| break; |
| } |
| } |
| printf("while(more_chunks) end\n"); |
| |
| ret = zDrvAudioMix_Close(); |
| if(ret != 0) |
| return 1; |
| printf("zDrvAudioMix_Close end\n"); |
| fclose(file); |
| printf("fclose end\n"); |
| |
| return ret; |
| } |
| |