查看“MusicPlayer.playMP3()”的源代码
←
MusicPlayer.playMP3()
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<p style="color: #666666;font-size:220%">'''AudioPro.playMP3(val)'''</p> <br> <p style="color: #E87E05;font-size:135%">'''作用'''</p> 此函数可播放SD卡内对应文件名的音频 <p style="color: #E87E05;font-size:135%">'''参数'''</p> val:音频文件名 <p style="color: #E87E05;font-size:135%">'''返回值'''</p> 返回播放是否成功状态,1为成功,0为失败 <p style="color: #E87E05;font-size:135%">'''示例'''</p> <source lang="cpp"> /* Microduino_AudioPro支持库例程 模块WIKI:https://wiki.microduino.cn/index.php/MCookie-Module_AudioPro 简易的MP3,需配合Microduino_SD模块、Sensor Joystick传感器使用 本例程中 getMusicNum 可以获取SD卡中曲目列表以及数量 */ #include <Microduino_Key.h> #include <Microduino_AudioPro.h> #include <SD.h> AudioPro_FilePlayer musicPlayer = AudioPro_FilePlayer(SD); AnalogKey keyAnalog[5] {(A0), (A0), (A0), (A0), (A0)}; enum KeyName { UP, DOWN, LEFT, RIGHT, PRESS }; uint8_t musicNum = 1; //歌曲序号 uint8_t fileNum = 0; //文件数量 void playNum(uint8_t num) { if (num > musicPlayer.getMusicNum() - 1) { return; } if (!musicPlayer.stopped()) { musicPlayer.stopPlaying(); //必要,否则SD类得不到关闭,内存溢出 } musicPlayer.flushCancel(both); //清缓存,播放MIDI等格式文件时必要 String _name = musicPlayer.getMusicName(num); Serial.print(F("Playing:")); if (!musicPlayer.playMP3(_name)) { Serial.println(F("ERROR")); } else { Serial.print(F("OK \t File: ")); Serial.println(_name); } } void setup() { Serial.begin(115200); Serial.println(F("AudioPro(VS1053) Simple Test")); pinMode(SD_PIN_SEL, OUTPUT); //先初始化AudioPro,所以先使能SD卡 digitalWrite(SD_PIN_SEL, HIGH); delay(500); if (! musicPlayer.begin()) { // initialise the music player Serial.println(F("Couldn't find VS1053, do you have the right pins defined?")); while (1); } Serial.println(F("VS1053 found")); if (!SD.begin(SD_PIN_SEL)) { Serial.println(F("initialization failed!")); return; } Serial.println(F("initialization done.")); musicPlayer.setVolume(96); //left & right 0-127 //or //musicPlayer.setVolume(96, 96); //left right 0-127 Serial.println(F("Enter Index of File to play")); fileNum = musicPlayer.getMusicNum(); //可以获取SD卡中曲目列表以及数量 Serial.print(F("Music Files : ")); Serial.println(fileNum); for (uint8_t a = 0; a < fileNum; a++) { Serial.print(F("\t File[")); Serial.print(a); Serial.print(F("]: ")); Serial.println(musicPlayer.getMusicName(a)); } // If DREQ is on an interrupt pin, we can do background musicPlayer.useInterrupt(VS1053_PIN_DREQ); // DREQ int for (uint8_t a = 0; a < 5; a++) { keyAnalog[a].begin(INPUT); } #if defined (ESP32) analogReadResolution(10); //9-12 在此ADC设置为10bit精度 #endif delay(200); } void loop() { switch (keyAnalog[UP].readEvent(700 - 50, 700 + 50)) { case SHORT_PRESS: { int _volume = musicPlayer.volumeUp(); Serial.print(F("Volume changed to ")); Serial.println(_volume); delay(100); } break; case LONG_PRESS: int _volume = musicPlayer.volumeUp(); Serial.print(F("Volume changed to ")); Serial.println(_volume); delay(100); break; } switch (keyAnalog[DOWN].readEvent(330 - 50, 330 + 50)) { case SHORT_PRESS: { int _volume = musicPlayer.volumeDown(); Serial.print(F("Volume changed to ")); Serial.println(_volume); } break; case LONG_PRESS: int _volume = musicPlayer.volumeDown(); Serial.print(F("Volume changed to ")); Serial.println(_volume); delay(100); break; } switch (keyAnalog[LEFT].readEvent(512 - 50, 512 + 50)) { case SHORT_PRESS: musicNum--; if (musicNum < 1 ) { musicNum = fileNum; } playNum(musicNum - 1); break; } switch (keyAnalog[RIGHT].readEvent(860 - 50, 860 + 50)) { case SHORT_PRESS: musicNum++; if (musicNum > fileNum) { musicNum = 1; } playNum(musicNum - 1); break; } switch (keyAnalog[PRESS].readEvent(0, 50)) { case SHORT_PRESS: if (musicPlayer.stopped()) { Serial.println(F("Playing!")); playNum(musicNum - 1); } else if (! musicPlayer.paused()) { Serial.println(F("Paused")); musicPlayer.pausePlaying(true); //暂停 } else { Serial.println(F("Resumed")); musicPlayer.pausePlaying(false); //取消暂停 } break; case LONG_PRESS: Serial.println(F("Stopping")); musicPlayer.stopPlaying(); delay(500); break; } delay(50); } </source> <p style="color: #E87E05;font-size:135%">'''其他'''</p> *'''[[AudioPro.setSpeed()|reset()]]''' [[MCookie AudioPro Reference |返回MCookie AudioPro Reference页面]]
返回至
MusicPlayer.playMP3()
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息