Sound_Track_Playback.c 5 KB
Newer Older
崔立宝's avatar
崔立宝 committed
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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
/**************************************************************************//**
  * \file     Sound_Track_Playback.c
  * \brief    Sound track play driver file
  * \details
  * \author   Zhang Xuan
  * \version  V1.0.0
  * \date     11-Oct-2018
  * \par      History:
  *           V1.0.0 Initial release
  * \par      Copyright:
  *           (c) Heilongjiang TYW Electronics co., LTD
******************************************************************************/

/* Includes ------------------------------------------------------------------*/
#include "Sound_Track_Playback.h"
#include "IIS_MAX98357.h"


/**************************************************************************//**
  * \brief      Initializes the sound playback function
  * \retval     None
******************************************************************************/
void Sound_Track_Playback_Init ( void )
{

}

/**************************************************************************//**
  * \brief      PCM audio track playback
  * \param      TrackID : PCM track ID defined in "PCM_Sound_Tracks.h"
  * \param      Channel : Channel number(0 - 4). There are 5 PCM audio playback
  *                       channels that can play different PCM audio at the
  *                       same time
  * \retval     None
******************************************************************************/
void Snd_PCM_Track_Play ( uint8_t TrackID, uint8_t Channel )
{
#if SND_SYS_PCM_CHANNEL_ENABLE
    if ( ( TrackID >= PCM_TRACK_TOTAL_NUM ) || ( Channel > 4 ) )
        return;
I2S_MAX98357_InternalFlash_CH0_Player(PCMTrackAttrTable[TrackID].pPCMData, PCMTrackAttrTable[TrackID].Size , 1U);
    //Sound_System_Play_PCM ( PCMTrackAttrTable[TrackID].pPCMData, PCMTrackAttrTable[TrackID].Size, Channel, PCMTrackAttrTable[TrackID].Gain );
#endif
}

/**************************************************************************//**
  * \brief      PCM audio track playback repeatedly
  * \param      TrackID : PCM track ID defined in "PCM_Sound_Tracks.h"
  * \param      Channel : Channel number(0 - 4). There are 5 PCM audio playback
  *                       channels that can play different PCM audio at the
  *                       same time
  * \retval     None
******************************************************************************/
void Snd_PCM_Track_Repeat_Play ( uint8_t TrackID, uint8_t Channel )
{
#if SND_SYS_PCM_CHANNEL_ENABLE
    if ( ( TrackID >= PCM_TRACK_TOTAL_NUM ) || ( Channel > 4 ) )
        return;
 I2S_MAX98357_InternalFlash_CH0_Player(PCMTrackAttrTable[TrackID].pPCMData, PCMTrackAttrTable[TrackID].Size , 0xFFFFU);
    //Sound_System_Repeat_Play_PCM ( PCMTrackAttrTable[TrackID].pPCMData, PCMTrackAttrTable[TrackID].Size, Channel, PCMTrackAttrTable[TrackID].Gain );
#endif
}

/**************************************************************************//**
  * \brief      Stop PCM track playback
  * \param      Channel : Specified channel number(0 - 4) to stop
  * \retval     None
******************************************************************************/
void Snd_PCM_Track_Stop_Play ( uint8_t Channel )
{
#if SND_SYS_PCM_CHANNEL_ENABLE
   // Sound_System_Stop_Play_PCM ( Channel );
   I2S_MAX98357_Stop( Channel);
#endif
}

/**************************************************************************//**
  * \brief      Generated sound track playback
  * \param      TrackID : Generated sound track ID defined in
                          "Gen_Sound_Tracks.h"
  * \param      Channel : Channel number(0 - 4). There are 5 sound generate
  *                       channels that can generate different sound at the
  *                       same time
  * \retval     None
******************************************************************************/
void Snd_Gen_Track_Play ( uint8_t TrackID, uint8_t Channel )
{

}

/**************************************************************************//**
  * \brief      Generated sound track playback repeatedly
  * \param      TrackID : Generated sound track ID defined in
                          "Gen_Sound_Tracks.h"
  * \param      Channel : Channel number(0 - 4). There are 5 sound generate
  *                       channels that can generate different sound at the
  *                       same time
  * \retval     None
******************************************************************************/
void Snd_Gen_Track_Repeat_Play ( uint8_t TrackID, uint8_t Channel )
{

}

/**************************************************************************//**
  * \brief      Stop generated sound track playback
  * \param      Channel : Specified channel number(0 - 4) to stop
  * \retval     None
******************************************************************************/
void Snd_Gen_Track_Stop_Play ( uint8_t Channel )
{

}

/**************************************************************************//**
  * \brief      Sound track playback control service
  * \attention  Call this function every 10ms
  * \retval     None
******************************************************************************/
void Sound_Track_Playback_Service ( void )
{

}