0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开源获奖案例】迪文屏与安卓手机双向联动控制音乐播放

迪文智能屏 2024-04-29 08:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

——来自迪文开发者论坛

本期为大家推送迪文开发者论坛获奖开源案例——迪文屏与安卓手机双向联动控制音乐播放工程师通过蓝牙模块实现了迪文智能屏与安卓手机的数据交互,用户可以轻松控制安卓手机、U盘中的歌曲播放、暂停、换曲及音效设置,体验智能屏与安卓手机的双向便捷操控。


UI开发示例

42e79442-05bd-11ef-9118-92fbcf53809c.png

C51工程设计

T5L 串口与蓝牙模块进行数据交互,修改播放状态、设置音量、读取蓝牙状态,部分参考代码如下:

int main(void){ INIT_CPU(); T2_Init(); UART4_Init();EA=1; //UART4_SendStr("hello",sizeof("hello")); //WDT_ON();//打开看门狗 while(1){ //WDT_RST();//喂狗 Process(); }}void UART4_Init(void){ //UART4波特率设置: //BODE2_DIV_H=CPU 主频/(8*波特率) 。 //206438400/8/115200=224=0xe0 //206438400/8/921600=28=0x1C //206438400/8=25804800/230400=112=0x70 SCON2T=0x80; SCON2R=0x80; BODE2_DIV_H=0x00;//FCLK/(8*DIV) BODE2_DIV_L=0xe0;//921600 波特率 //BODE2_DIV_H=0x00; //FCLK/(8*DIV) //BODE2_DIV_L=0x70; //ES3T=1; ES2R=1; EA=1;}void TenMsHandle(void){ if(!TenmsFlag) return; TenmsFlag=0; SourcePress();//音源改变 PlayCtrPress();//播放状态改变 VolCtrSlider();//音量改变 VolLogSlider();//音量改变 ReadBtState();//读取蓝牙状态}void SourcePress(void){ charTouchKey[2]={0,0}; u8Sdata[2]; read_dgusii_vp(0x3000,TouchKey,1); if(TouchKey[1]==0) return;Sdata[1]=0; switch(TouchKey[1]) { case1://U盘 Sdata[0]=1; SendDataToBT(Write_Run_Mode,Sdata,1); break; case2://外部LineIn输入 Sdata[0]=2; SendDataToBT(Write_Run_Mode,Sdata,1); break; case3://蓝牙 Sdata[0]=3; SendDataToBT(Write_Run_Mode,Sdata,1); break; } write_dgusii_vp(0x3003,TouchKey,1); memset(TouchKey,0,sizeof(TouchKey)); write_dgusii_vp(0x3000,TouchKey,1); ReadBtStatecount=0;}void PlayCtrPress(void){ charTouchKey[2]={0,0}; u8Sdata[2]; read_dgusii_vp(0x3001,TouchKey,1); if(TouchKey[1]==0) return;Sdata[1]=0; switch(TouchKey[1]) { case1://上一曲 Sdata[0]=1; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; case2://播放暂停 Sdata[0]=2; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; case3://下一曲 Sdata[0]=3; SendDataToBT(Write_Next_Pre_PT,Sdata,1); break; } memset(TouchKey,0,sizeof(TouchKey)); write_dgusii_vp(0x3001,TouchKey,1); ReadBtStatecount=0;}

安卓软件包通过QT编写,主要实现与智能屏进行蓝牙连接、通信控制,部分参考代码如下:

ui->setupUi(this); bluetooth_ble_Tool=new Bluetooth_ble_Tool("dwin_bt(BLE)"); ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName()); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState, this,&BLE_PairPage::BlueSearchConnectState); //btchat=new BtChat(); //btchat->set_ble_Tool(bluetooth_ble_Tool); //btchat->init_Page(); //btchat->hide(); devicecommHandle=new DeviceComm(); devicecommHandle->set_ble_Tool(bluetooth_ble_Tool); devicecommHandle->InitDevice(); mwin=new mainwin(); mwin->hide(); connect(mwin,&mainwin:layChangeMode, devicecommHandle,&DeviceComm:layChangeMode);//写模式改变下发 connect(mwin,&mainwin:layCtrPreNextSt, devicecommHandle,&DeviceComm:layCtrPreNextSt);//写上下曲 connect(mwin,&mainwin:layMusicVolChange, devicecommHandle,&DeviceComm:layMusicVolChange);//写音量改变下发 connect(devicecommHandle,&DeviceComm::ReadPlayMode, this,[=](int mode){//设置目前的模式 qDebug()<<"mode:"< mwin->B_Upan->setChecked(false); mwin->B_AUX->setChecked(false); mwin->B_BT->setChecked(false); if(mode==1) mwin->B_Upan->setChecked(true); else if(mode==2) mwin->B_AUX->setChecked(true); else if(mode==3) mwin->B_BT->setChecked(true); }); connect(devicecommHandle,&DeviceComm::ReadPlayMusicVol, this,[=](int vol){//设置音量显示 mwin->QS_MainVol->setValue(vol); }); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BLE_Link_error, this,[=](){ this->show(); mwin->hide(); devicecommHandle->TimerStopReadDeviceST(); this->ui->progressBar->setValue(0); });void BLE_PairPage::on_pushButton_clicked(){ bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid)); //ui->label_localBT->clear(); //ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName()); bluetooth_ble_Tool->startFindConnectBle(); //bluetooth_ble_Tool->startStateprogressBar(); ui->pushButton->setEnabled(false); ui->pushButton->setText("正在搜索"); connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished, this,[=](bool ok){ ui->pushButton->setEnabled(true); ui->pushButton->setText("开始检测连接蓝牙"); if(ok==false) { QMessageBox::information(this,tr("搜索状态"),"搜索不到设备,请查看设备是否已经开机,或者有其它手机已经连接上?");} });} void BLE_PairPage::startStateprogressBar_em Linkst, int progress){ ui->progressBar->setValue(progress); if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){ QMessageBox::information(this,tr("连接提示"),bluetooth_ble_Tool->getErrorinfo()); ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo());} else if(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){ QMessageBox::information(this,tr("连接提示"),"有错误"); ui->label_tips->setText("有错误");} else if(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information( this,tr("成功连接"),bluetooth_ble_Tool->getErrorinfo()); ui->label_tips->setText("已成功连接"); this->hide(); mwin->show(); devicecommHandle->TimerStartReadDeviceST(100); //btchat->show(); //disconnect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState, //this,&BLE_PairPage::BlueSearchConnectState); } else{ ui->label_tips->setText("搜索连接中"); }}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    4343

    浏览量

    46437
  • 安卓手机
    +关注

    关注

    2

    文章

    123

    浏览量

    15519
  • 迪文屏
    +关注

    关注

    3

    文章

    89

    浏览量

    6070
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    主板定制_MTK联发科系统主板PCBA方案开发

    在智能设备迅速发展的浪潮中,系统凭借其开源灵活性与强大的生态系统,已成为物联网终端、工业控制设备及消费电子行业的核心选择。而作为智能设备的“心脏”,
    的头像 发表于 12-26 20:31 679次阅读
    <b class='flag-5'>安</b><b class='flag-5'>卓</b>主板定制_MTK联发科<b class='flag-5'>安</b><b class='flag-5'>卓</b>系统主板PCBA方案开发

    ESP32蓝牙驱动MAX98357对音频音乐播放

    本文介绍了MAX98357音频模块的基本特性,并利用ESP32的蓝牙功能程序驱动此模块,最后用手机蓝牙连接ESP32播放手机音乐
    的头像 发表于 12-19 19:55 3207次阅读
    ESP32蓝牙驱动MAX98357对音频<b class='flag-5'>音乐</b><b class='flag-5'>播放</b>

    苹果率先引入的下光谱技术,这次手机能否登峰造极!

    电子发烧友网报道(/黄晶晶)智能手机屏幕在环境光不同的明暗下自适应调整亮度,是已经被我们所熟知的功能。有一个细节是,苹果手机已经采用下光谱技术,通过环境光传感器提升OLED显示
    的头像 发表于 10-11 09:29 9155次阅读
    苹果率先引入的<b class='flag-5'>屏</b>下光谱技术,这次<b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>手机</b>能否登峰造极!

    佩特科技RK3562-P04 5寸电容触摸概述

    在智能设备飞速发展的今天,作为人机交互的核心载体,正经历着从“大而全”到“小而精”的变革。RK3562-P04 5寸电容触摸
    的头像 发表于 08-21 13:54 1206次阅读

    佩特科技RK3588产品介绍

    在工业自动化与智能化浪潮席卷全球的今天,高性能、高可靠的工业计算机设备正成为推动产业升级的核心引擎。瑞芯微RK3588芯片凭借8K超清显示与6TOPS NPU算力的双重突破,正重新定义工业的性能标杆。
    的头像 发表于 08-18 14:00 1504次阅读
    佩特科技RK3588<b class='flag-5'>安</b><b class='flag-5'>卓</b><b class='flag-5'>屏</b>产品介绍

    手搓触手机开源了!

    演示、键盘输入、自定义列表/表格、相册、相机、蓝牙功能、音乐播放器……实际效果类似这样▼自己的手机用着不香吗?为什么要亲自搓手机呢?是这样的,一次偶尔的机会,我找到
    的头像 发表于 08-07 15:40 2517次阅读
    手搓触<b class='flag-5'>屏</b><b class='flag-5'>手机</b>,<b class='flag-5'>开源</b>了!

    Made with KiCad(135):Echo - 开源音乐播放

    “  Echo 是一个开源硬件平台,专为音乐播放器设计。该项目的目标是开发一款基于开源软件并采用开源设计的高品质
    的头像 发表于 07-16 11:17 3356次阅读
    Made with KiCad(135):Echo - <b class='flag-5'>开源</b>的<b class='flag-5'>音乐</b><b class='flag-5'>播放</b>器

    开源获奖案例】AI智能交互新方案:基于T5L智能的AI DeepSeek大模型

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——AI智能交互新方案:基于T5L
    的头像 发表于 07-12 09:02 1269次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】AI智能交互新方案:基于T5L智能<b class='flag-5'>屏</b>的AI DeepSeek大模型

    如何实现与恩智浦i.MX RT1170的无线投控制

    Scrcpy是一款免费开源的软件,支持将端屏幕投影到其他设备,并支持被投设备对的反向
    的头像 发表于 06-26 09:53 2550次阅读
    如何实现<b class='flag-5'>安</b><b class='flag-5'>卓</b>与恩智浦i.MX RT1170的无线投<b class='flag-5'>屏</b>与<b class='flag-5'>控制</b>

    与 Windows 系统的手持工业平板电脑,该如何选择?

    众多企业面临的关键问题。 一、系统特性剖析 (一)系统 开源与定制灵活性:系统基于开源
    的头像 发表于 06-04 11:02 1370次阅读

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、源码)实例项目打包下载

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、源码)实例项目打包,推荐下载!
    发表于 05-29 21:47

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、源码)

    手机APP远程控制,智能家居监测、智能控制系统(STM32L4、服务器、源码) 项目实例下载! 纯分享帖,需要者可点击附件免费获取
    发表于 05-23 21:00

    有人接rk3576的视频硬件解码的实现么?

    我们这边是有做好了一个app的,然后我们这边是有用软解的方式播放了网络摄像枪的实时视频的,但是因为占用CPU太高了,所以就想转成视频硬解的方式播放实时视频。 目前我们是有采购了一个
    发表于 05-19 09:52

    开源获奖案例】基于T5L智能音乐播放与歌词显示方案

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 05-08 09:52 994次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于T5L智能<b class='flag-5'>屏</b>的<b class='flag-5'>音乐</b><b class='flag-5'>播放</b>与歌词显示方案

    开源获奖案例】基于T5L智能的零食机

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 04-30 18:20 838次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于T5L智能<b class='flag-5'>屏</b>的零食机