Exemplo n.º 1
0
int main()
{
	int main(void)
	{
	alt_up_audio_dev * audio_dev;
	/* used for audio record/playback */
	unsigned int l_buf;
	unsigned int r_buf;
	// open the Audio port
	audio_dev = alt_up_audio_open_dev ("/dev/Audio");
	if ( audio_dev == NULL)
	alt_printf ("Error: could not open audio device \n");
	else
	alt_printf ("Opened audio device \n");
	/* read and echo audio data */
	while(1)
	{
	int fifospace = alt_up_audio_read_fifo_avail (audio_dev, ALT_UP_AUDIO_RIGHT);
	if ( fifospace > 0 ) // check if data is available
	{
	// read audio buffer
	alt_up_audio_read_fifo (audio_dev, &(r_buf), 1, ALT_UP_AUDIO_RIGHT);
	alt_up_audio_read_fifo (audio_dev, &(l_buf), 1, ALT_UP_AUDIO_LEFT);
	// write audio buffer
	alt_up_audio_write_fifo (audio_dev, &(r_buf), 1, ALT_UP_AUDIO_RIGHT);
	alt_up_audio_write_fifo (audio_dev, &(l_buf), 1, ALT_UP_AUDIO_LEFT);
	}
	}
	}
/* Checks if the read FIFO for the left channel has at least BUF_THRESHOLD data words 
 * available. If it doesn't, then just returns 0. If it does, then data is read from the
 * FIFO up to a maximum of len words, and stored into buf.
 */
unsigned int alt_up_audio_record_l(alt_up_audio_dev *audio, unsigned int *buf, int len)
{
	unsigned int data_words = alt_up_audio_read_fifo_avail (audio, ALT_UP_AUDIO_LEFT);
	if (data_words <= BUF_THRESHOLD)
		return 0;
	else
		return (alt_up_audio_read_fifo(audio, buf, len, ALT_UP_AUDIO_LEFT));
}
Exemplo n.º 3
0
void audioSampling(void)
{
	int fifospaceR,fifospaceL;
	U32 ptrIndexL=0,ptrIndexR=0;
	while(ptrIndexL<AUDIO_SAMPLING_MAX_DATA||ptrIndexR<AUDIO_SAMPLING_MAX_DATA)
	{

		fifospaceL=alt_up_audio_read_fifo_avail(audio_dev,ALT_UP_AUDIO_LEFT);
		if(fifospaceL>100&&ptrIndexL<AUDIO_SAMPLING_MAX_DATA)
		{
			alt_up_audio_read_fifo(audio_dev,&audioSamplingLData[ptrIndexL],100, ALT_UP_AUDIO_LEFT);
			ptrIndexL+=100;
		}
		fifospaceR=alt_up_audio_read_fifo_avail(audio_dev,ALT_UP_AUDIO_RIGHT);
		if(fifospaceR>100&&ptrIndexR<AUDIO_SAMPLING_MAX_DATA)
		{
			alt_up_audio_read_fifo(audio_dev,&audioSamplingRData[ptrIndexR],100, ALT_UP_AUDIO_RIGHT);
			ptrIndexR+=100;
		}

	}
}