OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4046|回复: 2

求助关于整合音乐播放器与录音功能

[复制链接]

6

主题

13

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-9
在线时间
7 小时
发表于 2017-6-17 23:36:05 | 显示全部楼层 |阅读模式
1金钱
int main(void)
{         
    u8 key;
        u8 state=0;
        delay_init();                     //延时函数初始化          
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
        uart_init(115200);                 //串口初始化为115200
        LED_Init();                                          //初始化与LED连接的硬件接口
        KEY_Init();                                        //初始化按键
        TPAD_Init(6);                                //初始化触摸按键          

        LCD_Init();                                           //初始化LCD     
        W25QXX_Init();                                //初始化W25Q128
        VS_Init();                                          //初始化VS1053
        my_mem_init(SRAMIN);                //初始化内部内存池
        exfuns_init();                                //为fatfs相关变量申请内存  
        f_mount(fs[0],"0:",1);                 //挂载SD卡
        f_mount(fs[1],"1:",1);                 //挂载FLASH.
        Remote_Init();                        //红外接收初始化       
         
        POINT_COLOR=RED;      
        while(font_init())                                 //检查字库
        {            
                LCD_ShowString(30,50,200,16,16,"Font Error!");
                delay_ms(200);                                  
                LCD_Fill(30,50,240,66,WHITE);//清除显示             
        }
        Show_Str(30,50,200,16,"战舰 STM32开发板",16,0);                                             
        Show_Str(30,70,200,16,"音乐播放器实验",16,0);                                             
        Show_Str(30,90,200,16,"正点原子@ALIENTEK",16,0);                                             
        Show_Str(30,110,200,16,"2017年6月17日",16,0);
        Show_Str(30,130,200,16,"KEY0:NEXT   KEY2REV",16,0);
        Show_Str(30,150,200,16,"KEY_UP:VOL+ KEY1:VOL-",16,0);
       
        Show_Str(220,90,200,16,"遥控器按键功能(录音):",16,0);
        Show_Str(220,110,200,16,"VOL+:VOL+   VOL-:VOL-",16,0);
        Show_Str(220,130,200,16,"2:STOP&SAVE 3:REC/PAUSE",16,0);
        Show_Str(220,150,200,16,"TPADlay The File",16,0);
       
        while(1)
        {
               
                  LED1=0;           
                Show_Str(30,170,200,16,"存储器测试...",16,0);
                printf("Ram Test:0X%04X\r\n",VS_Ram_Test());//打印RAM测试结果            
                Show_Str(30,170,200,16,"正弦波测试...",16,0);                   
                VS_Sine_Test();          
                Show_Str(30,170,200,16,"<<音乐播放器>>",16,0);        
                     
                LED1=1;
                key=Remote_Scan();
                if(key)     //有键按下
                {                           
                        switch(key)
                        {
                                case 0: break;                          
                                case 162:  break;            
                                case 98:   break;            
                                case 2:    break;                 
                                case 226:  break;                  
                                case 194:  break;          
                                case 34:   break;                  
                                case 224:  break;                  
                                case 168:  break;                  
                                case 144:  break;                    
                                case 104: state=2; break;                  
                                case 152:  break;          
                                case 176:  break;            
                                case 48:   break;                    
                                case 24:   break;                    
                                case 122:  break;                  
                                case 16:   break;                                                                  
                                case 56:   break;         
                                case 90:   break;
                                case 66: state=1;  break;
                                case 82:   break;                 
                        }
                }
                if(state==1)
                {
                        mp3_play();
                }
                 
                if(state==2)
                {
                        recoder_play();
                }
               
    }                
}
我想用红外来控制选择播放音乐和录音功能,红外遥控:0是音乐播放,1是录音;但是当程序进入mp3_play();怎么实现让它停止,然后当按下“1”时转到recoder_play();

最佳答案

查看完整内容[请看2#楼]

参考这个:http://openedv.com/forum.php?mod=viewthread&tid=75619&highlight=%D2%A3%BF%D8%2B%D2%F4%C0%D6
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-6-17 23:36:06 | 显示全部楼层
回复

使用道具 举报

6

主题

13

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2016-8-9
在线时间
7 小时
 楼主| 发表于 2017-6-19 22:27:13 | 显示全部楼层
他这个没源码,我自己修改了 mp3_play()函数可以实现退出,并等待下一次指示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-18 04:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表