【اوپن سورس】 DWIN اسکرین اور اینڈرائیڈ فون دو طرفہ لنکیج کنٹرول میوزک پلے بیک

- DWIN ڈویلپر فورم سے

یہ مسئلہ آپ کے لیے DWIN ڈویلپر فورم - DWIN اسکرین اور اینڈرائیڈ فون کے دو طرفہ لنکیج کنٹرول میوزک پلے بیک کے ایوارڈ یافتہ اوپن سورس کیس کو آگے بڑھانے کے لیے ہے۔ انجینئرز بلوٹوتھ ماڈیول کے ذریعے DWIN انٹیلیجنٹ اسکرین اور اینڈرائیڈ فون ڈیٹا کے تعامل کو حاصل کرنے کے لیے، صارفین آسانی سے اینڈرائیڈ فون کو کنٹرول کرسکتے ہیں، گانا پلے میں USB فلیش ڈرائیو، توقف، گانا اور ساؤنڈ سیٹنگز کو تبدیل، ذہین اسکرین اور اینڈرائیڈ فون کا تجربہ دو۔ طریقہ آسان کنٹرول.

1.C51 ڈیزائن
(1) T5L سیریل پورٹ بلوٹوتھ ماڈیول کے ساتھ پلے بیک اسٹیٹس کو تبدیل کرنے، والیوم سیٹ کرنے اور بلوٹوتھ اسٹیٹس کو پڑھنے کے لیے بات چیت کرتا ہے، ریفرنس کوڈ کا حصہ درج ذیل ہے:
int مین (باطل)
{
INIT_CPU()؛
T2_ہیٹ()؛
UART4_Init();
EA=1;
//UART4_SendStr("ہیلو"،سائز آف ("ہیلو"))؛
//WDT_ON();// واچ ڈاگ کو آن کریں۔
جبکہ (1)
{
//WDT_RST();//کتے کو پاؤں
عمل ()؛
}
}
void UART4_Init (باطل)
{
// UART4 Baud کی شرح کی ترتیب:
//BODE2_DIV_H=CPU مین فریکوئنسی/(8*Baud کی شرح)۔
//206438400/8/115200=224=0xe0
//206438400/8/921600=28=0x1C
//206438400/8=25804800/230400=112=0×70
SCON2T=0×80;
SCON2R=0×80;
BODE2_DIV_H=0×00;//FCLK/(8*DIV) 
BODE2_DIV_L=0xe0;// 921600 Baud کی شرح
//BODE2_DIV_H=0×00;
//FCLK/(8*DIV)
//BODE2_DIV_L=0×70;
//ES3T=1؛
ES2R=1;
EA=1;
}
void TenMsHandle(void)
{
if(!TenmsFlag)
واپسی
TenmsFlag=0;
سورس پریس ()؛// ٹون جنریٹر
PlayCtrPress();//پلے بیک حالت میں تبدیلی
VolCtrSlider();//حجم تبدیلی
VolLogSlider();//حجم تبدیلی
ReadBtState();//بلوٹوتھ کی حیثیت پڑھیں
}
باطل سورس پریس (باطل)
{
charTouchKey[2]={0,0}؛
u8Sdata[2]؛
read_dgusii_vp(0×3000,TouchKey,1);
if(TouchKey[1]==0)
واپسی
Sdata[1]=0;
سوئچ (TouchKey[1])
{
کیس 1: یو ڈسک
Sdata[0]=1;
SendDataToBT(Write_Run_Mode,Sdata,1);
توڑنا
کیس 2:// بیرونی لائن ان پٹ
Sdata[0]=2;
SendDataToBT(Write_Run_Mode,Sdata,1);
توڑنا
کیس 3: بلوٹوتھ
Sdata[0]=3;
SendDataToBT(Write_Run_Mode,Sdata,1);
توڑنا
}
write_dgusii_vp(0×3003,TouchKey,1);
memset(TouchKey,0,sizeof(TouchKey))؛
write_dgusii_vp(0×3000,TouchKey,1)؛
ReadBtStatecount=0;
}
void PlayCtrPress (باطل)
{
charTouchKey[2]={0,0}؛
u8Sdata[2]؛
read_dgusii_vp(0×3001,TouchKey,1);
if(TouchKey[1]==0)
واپسی
Sdata[1]=0;
سوئچ (TouchKey[1])
{
کیس 1: پچھلا گانا
Sdata[0]=1;
SendDataToBT(Write_Next_Pre_PT,Sdata,1)؛
توڑنا
کیس 2:// پلے بیک توقف
Sdata[0]=2;
SendDataToBT(Write_Next_Pre_PT,Sdata,1)؛
توڑنا
کیس 3: اگلا گانا
Sdata[0]=3;
SendDataToBT(Write_Next_Pre_PT,Sdata,1)؛
توڑنا
}
memset(TouchKey,0,sizeof(TouchKey))؛
write_dgusii_vp(0×3001,TouchKey,1);
ReadBtStatecount=0;
}

(2)Android سافٹ ویئر پیکج QT کے ذریعے لکھا گیا ہے، بنیادی طور پر سمارٹ سکرین کے ساتھ بلوٹوتھ کنکشن اور کمیونیکیشن کنٹرول کو محسوس کرتے ہوئے، ریفرنس کوڈ کا حصہ درج ذیل ہے:
ui->setupUi(یہ)؛
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,
یہ،&BLE_PairPage::BlueSearchConnectState)؛
//btchat=نیا BtChat()؛
//btchat->set_ble_Tool(bluetooth_ble_Tool)؛
//btchat->init_Page()؛
//btchat->چھپائیں ()؛
devicecommHandle=new DeviceComm();
devicecommHandle->set_ble_Tool(bluetooth_ble_Tool)؛
devicecommHandle->InitDevice()؛
mwin=new mainwin();
کم->چھپائیں()؛
کنیکٹ(mwin،&mainwin:layChangeMode،
devicecommHandle،&DeviceComm:layChangeMode؛// لکھنے کے موڈ میں تبدیلی جاری کی گئی
connect(mwin،&mainwin:layCtrPreNextSt،
devicecommHandle،&DeviceComm:layCtrPreNextSt؛// لٹ۔ گانے کے اوپری اور نچلے حصے کو لکھیں۔
کنیکٹ(mwin،&mainwin:layMusicVolChange،
devicecommHandle،&DeviceComm:layMusicVolChange؛// والیوم میں تبدیلی لکھیں
کنیکٹ (ڈیوائس کام ہینڈل، اور ڈیوائس کام:: ریڈ پلے موڈ،
یہ،[=](انٹ موڈ){// موجودہ موڈ سیٹ کرنا
qDebug() qDebug() B_Upan->set Checked(false);
mwin->B_AUX->set Checked(false);
mwin->B_BT->سیٹ چیک کیا گیا (غلط)؛
اگر(موڈ==1)
mwin->B_Upan->setChecked(true)؛
ورنہ اگر(موڈ==2)
mwin->B_AUX->setChecked(true)؛
ورنہ اگر(موڈ==3)
mwin->B_BT->setChecked(true)؛
});
کنیکٹ(devicecommHandle،&DeviceComm::ReadPlayMusicVol،
یہ،[=](int والیوم){// والیوم ڈسپلے سیٹ کرنا
mwin->QS_MainVol->setValue(vol)؛
});
مربوط کریں
یہ،[=](){
this->شو();
کم->چھپائیں()؛
devicecommHandle->TimerStopReadDeviceST();
this->ui->progressBar->setValue(0)؛
});
void BLE_PairPage::on_pushButton_clicked(){
bluetooth_ble_Tool->SetOperUuidServer(QBluetoothUuid(serviceUuid))؛
//ui->label_localBT->کلیئر()؛
//ui->label_localBT_Name->setText(bluetooth_ble_Tool->getLocalName())؛
bluetooth_ble_Tool->startFindConnectBle();
//bluetooth_ble_Tool->startStateprogressBar();
ui->پش بٹن->سیٹ فعال (غلط)؛
ui->پش بٹن->سیٹ ٹیکسٹ ("تلاش")؛
connect(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueBLE_FindDevicefinished،
یہ،[=](بول ٹھیک ہے){
ui->pushButton->setEnabled(true)؛
ui->pushButton->setText("منسلک بلوٹوتھ کا پتہ لگانا شروع کریں")؛
اگر (ٹھیک == غلط) {
QMessageBox::information(this,tr("Search Status")," ڈیوائس کو تلاش نہیں کیا جا سکتا، براہ کرم چیک کریں کہ آیا ڈیوائس پہلے سے آن ہے، یا کوئی دوسرا سیل فون پہلے سے اس سے منسلک ہے؟"؛} }); }
void BLE_PairPage::BlueSearchConnectState(Bluetooth_ble_Tool::startStateprogressBar_em Linkst، int progress){
ui->progressBar->setValue(progress)؛
if(Linkst>=Bluetooth_ble_Tool::Ble_OtherError){
QMessageBox::information(this,tr("connection prompt"), bluetooth_ble_Tool->getErrorinfo())؛
ui->label_tips->setText(bluetooth_ble_Tool->getErrorinfo())؛}
ورنہ اگر(Linkst>=Bluetooth_ble_Tool::Ble_Deconnect_device){
QMessageBox::information(this,tr("connection prompt"),"buggy");
ui->label_tips->setText("buggy");}
ورنہ اگر(Linkst==Bluetooth_ble_Tool::Ble_Connect_characterOk){// QMessageBox::information(
this,tr("کامیابی سے منسلک"), bluetooth_ble_Tool->getErrorinfo())؛
ui->label_tips->setText("کامیابی سے منسلک")؛
یہ->چھپائیں()؛
mwin->شو()؛
devicecommHandle->TimerStartReadDeviceST(100)؛
//btchat->شو()؛
//منقطع کریں(bluetooth_ble_Tool,&Bluetooth_ble_Tool::BlueSearchConnectState,
//یہ،&BLE_PairPage::BlueSearchConnectState)؛ }
اور
ui->label_tips->setText("کنکشنز کی تلاش")؛ }


پوسٹ ٹائم: مئی-23-2024