Example #1
0
static int play(int argc, char *argv[])
{
	int fd;
	struct stat st;

	if (argc != 2) {
		fprintf(stderr, "Usage: %s <device>|<recording>\n", argv[0]);
		fprintf(stderr, "\n");
		fprintf(stderr, "If the argument is an input event node,\n"
				"event data is read from standard input.\n");
		fprintf(stderr, "If the argument is an evemu recording,\n"
				"the device is created and the event data is"
				"read from the same device.\n");
		return -1;
	}

	fd = open(argv[1], O_RDWR);
	if (fd < 0) {
		fprintf(stderr, "error: could not open file or device (%m)\n");
		return -1;
	}

	if (fstat(fd, &st) == -1) {
		fprintf(stderr, "error: failed to look at file (%m)\n");
		return -1;
	}

	if (S_ISCHR(st.st_mode))
		play_from_stdin(fd);
	else
		play_from_file(fd);


	close(fd);
	return 0;
}
Example #2
0
void audio_PMP_record_demo()
{
	INT 	nMICLToggle=0;
	INT 	nLINEIN1Toggle=0;
	INT 	nLINEIN2Toggle=0;
	INT 	nSPToggle=0;
	INT 	nHPToggle=0;
	

	while(1)
	{
		INT8 choose;
		
		printf("1.Enable bypass\n");
		printf("2.Disable bypass\n");
		printf("3.Start record 10sec PCM to file\n");
		printf("4.Play from file\n");
		printf("5.En/Disable Path\n");
#if USEUART    	
   		choose = sysGetChar();
#else
		scanf("%c",&choose);
#endif
		switch (choose)
		{
			case '1':audioSetPlayVolume(20,20);
					//WM8978_Bypass_Enable();
					audioBypassEnable();
					break;
			case '2'://WM8978_Bypass_Disable();
					audioBypassDisable();
					break;
			case '3':record_to_file(8000,1);
					break;
			case '4':play_from_file(8000,1);
					break;
			case '5':
					{
						
						
						printf("select output path\n");
						printf("1.Speaker:%d\n",nSPToggle);
						printf("2.Head phone:%d\n",nHPToggle);
#if USEUART 		   	
   						choose = sysGetChar();
#else       		
						scanf("%c",&choose);
#endif      		
						if (choose == '1')
						{
							if (nSPToggle)
								nSPToggle = 0;
							else
								nSPToggle = 1;
							audioSelectOutputPath(OUT_PATH_SP,nSPToggle);
						}
						if (choose == '2')
						{
							if (nHPToggle)
								nHPToggle = 0;
							else
								nHPToggle = 1;
							audioSelectOutputPath(OUT_PATH_HP,nHPToggle);
						}
						
					}
					{
						
						
						printf("select input path\n");
						printf("1.MicL IN:%d\n",nMICLToggle);
						printf("2.FM IN:%d\n",nLINEIN1Toggle);
						printf("3.LINE IN:%d\n",nLINEIN2Toggle);
#if USEUART 		   	
   						choose = sysGetChar();
#else       		
						scanf("%c",&choose);
#endif      		
						if (choose=='1')
						{
							if (nMICLToggle)
								nMICLToggle = 0;
							else
								nMICLToggle = 1;
							audioSelectInputPath(IN_PATH_MICL,nMICLToggle);
						}
						if (choose=='2')
						{
							if (nLINEIN1Toggle)
								nLINEIN1Toggle = 0;
							else
								nLINEIN1Toggle = 1;
							audioSelectInputPath(IN_PATH_LINEIN1,nLINEIN1Toggle);
						}
						if (choose=='3')
						{
							if (nLINEIN2Toggle)
								nLINEIN2Toggle = 0;
							else
								nLINEIN2Toggle = 1;
							audioSelectInputPath(IN_PATH_LINEIN2,nLINEIN2Toggle);
						}
						
						
						
					}
					break;
			default: break;	
						
		}
	}
	
}