Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WAV_ERR_t UB_CS43L22_PlayWAVSingle(uint8_t Volume)
- {
- WAV_ERR_t ret_wert=WAV_INIT_ERR;
- UB_WAV wav_file;
- UB_WAV * wav_file_pt;
- FATFS_t controle;
- FATFS_t buffer_check;
- FIL recording;
- uint8_t wav_buff[256]="0";
- if((cs43l22_status==CS43L22_INIT_OK) || (cs43l22_status==CS43L22_STOP)) {
- // check vom WAV-Header
- wav_start = wav_buff;
- wav_file_pt = &wav_file;
- controle=UB_Fatfs_OpenFile(&recording,"test16k.wav",F_RD);
- buffer_check=UB_Fatfs_ReadBlock(&recording,wav_start,256,wav_file.size);
- wav_file.size = UB_Fatfs_FileSize(&recording);
- wav_file.table = wav_start;
- ret_wert=P_CS43L22_CheckWAV(wav_file_pt);
- if(ret_wert==WAV_OK) {
- cs43l22_status=CS43L22_PLAY;
- wav_loop=0; // single play
- wav_start=wav_file.table[my_wav.data_start];
- if(my_wav.channels==2) {
- // stereo
- UB_AUDIO_InitNew(OUTPUT_DEVICE_HEADPHONE, Volume, my_wav.samplerate);
- }
- else {
- // mono
- UB_AUDIO_InitNew(OUTPUT_DEVICE_HEADPHONE, Volume, my_wav.samplerate/2);
- }
- UB_Led_On(LED_BLUE);
- EVAL_AUDIO_Play((uint16_t*)wav_start, 256);
- wav_start = wav_buff;
- while(buffer_check!=FATFS_EOF)
- {
- buffer_check=UB_Fatfs_ReadBlock(&recording,wav_start,256,wav_file.size);
- EVAL_AUDIO_Play((uint16_t*)wav_start, 256);
- wav_start = wav_buff;
- }
- }
- }
- return(ret_wert);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement