မျက်မှောက်ခေတ်အင်တာနက်အပလီကေးရှင်းများတွင်အချိန်နှင့်တပြေးညီဆက်သွယ်ခြင်းလုပ်ဆောင်ချက်များသည်မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းတစ်ခုဖြစ်လာသည်။ အသုံးပြုသူများသည်ဆက်သွယ်ရေးထိရောက်မှုကိုတိုးတက်စေရန်အသံနှင့်ဗွီဒီယိုခေါ်ဆိုမှုများမှတဆင့်ချက်ချင်းဆက်သွယ်နိုင်သည်။ Real-Time Chat တွင် Voice Messaging နှင့် Video Call Support ရရှိရန် PHP နည်းပညာကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
WeBrtc နည်းပညာကိုအနိမ့်လက်တင်အသင်းနည်းသောအသံနှင့်ဗွီဒီယိုဆက်သွယ်မှုများတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုပြီးအသံဝယ်ယူမှုလုပ်ငန်းစဉ်သည်အလွန်အဆင်ပြေသည်။ အောက်ဖော်ပြပါကုဒ်ဥပမာသည်အသံလွှင့်ဌာနမှခွင့်ပြုချက်ကိုမည်သို့တောင်းခံနိုင်ကြောင်းနှင့် Navigator အရာဝတ်ထုကိုအသုံးပြုပြီးအသံလွှင့်ဌာနများကိုမည်သို့ရယူရမည်ကိုပြသသည်။
//အသုံးပြုnavigatorအရာဝတ်ထုတောင်းဆိုရန်အသံ
navigator.mediaDevices.getUserMedia({ audio: true, video: false })
.then(function(stream) {
// အောင်မြင်စွာအသံစီးကိုရရှိခဲ့သည်,နောက်ဆက်တွဲအပြောင်းအလဲနဲ့
})
.catch(function(err) {
console.log(err);
});
အထက်ပါကုဒ်သည် Getusermededia interface ကိုခေါ်ဆိုခြင်းဖြင့်အသုံးပြုသူထံမှအသံခွင့်ပြုချက်တောင်းခံသည်။ အောင်မြင်မှုရပြီးနောက်အသံစီးကိုထို့နောက်ထိုနည်းလမ်းကို ဖြတ်. ရရှိသည်။ အကယ်. မအောင်မြင်ပါကဖမ်းဆီးခြင်းဖြင့်အမှားရိုက်ကူးမှုကိုပြုလုပ်သည်။
အသံလွှင့်စက်ကိုရယူပြီးနောက်အသံအချက်အလက်များကိုအချိန်နှင့်တပြေးညီဆာဗာသို့လွှဲပြောင်းရန်လိုအပ်သည်။ WebSident သည်ထိရောက်သော Real-Time Messire Transmittry channer channer ကိုပေးသည်။ နမူနာကုဒ်မှာအောက်ပါအတိုင်းဖြစ်သည် -
// ဖန်တီးWebSocketဆက်
var socket = new WebSocket('ws://localhost:8080');
// server သို့အသံ streaming data များကိုပေးပို့ပါ
socket.send(stream);
ဤကုဒ်သည် websocket connection အသစ်တစ်ခုကိုဖန်တီးပြီးအသံအချက်အလက်များကိုချက်ချင်းပေးပို့နိုင်ရန်အတွက်အသံလွှင့်ဌာနမှ server သို့အသံလွှင့်ဌာနကိုထုတ်လွှင့်ရန် Send method ကိုအသုံးပြုသည်။
ဗွီဒီယိုလွှင့်ထုတ်မှုများကိုရယူခြင်းသည်အသံဝယ်ယူမှုနှင့်ဆင်တူသည်။ WEBRTC မှတစ်ဆင့်အလွယ်တကူပြုလုပ်နိုင်သည်။ အောက်ပါနမူနာကုဒ်သည်ဗွီဒီယိုခွင့်ပြုချက်ကိုမည်သို့တောင်းခံနိုင်ကြောင်းနှင့်ဗွီဒီယိုလွှင့်စက်များရနိုင်ပုံကိုပြသည်။
// အသုံးပြုnavigatorObject Video Stream တောင်းဆိုခြင်း
navigator.mediaDevices.getUserMedia({ video: true, audio: false })
.then(function(stream) {
// အောင်မြင်စွာဗီဒီယိုစီးကိုအောင်မြင်စွာရရှိခဲ့သည်,进行နောက်ဆက်တွဲအပြောင်းအလဲနဲ့
})
.catch(function(err) {
console.log(err);
});
Code သည်အသုံးပြုသူအား Getusermedia မှတစ်ဆင့်ကင်မရာသို့ဝင်ရောက်ခွင့်ကိုခွင့်ပြုထားပြီးအောင်မြင်မှုအတွက်ဗီဒီယိုစီးဆင်းမှုကိုရရှိရန်နှင့်အောင်မြင်မှုအတွက်ဗီဒီယိုစီးဆင်းမှုကိုရရှိပြီး,
ဗွီဒီယိုစီးဆင်းမှုကိုရရှိပြီးနောက်အချိန်ဇယားနိမ့်သောဗွီဒီယိုခေါ်ဆိုမှုအတွေ့အကြုံကိုသေချာစေရန်အချိန်နှင့်တပြေးညီ time ကိုထုတ်လွှင့်ရန်လည်းလိုအပ်သည်။ နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
// ဖန်တီးWebSocketဆက်
var socket = new WebSocket('ws://localhost:8080');
// ဆာဗာသို့ဗွီဒီယို streaming ဒေတာများကိုပို့ပါ
socket.send(stream);
ဤနေရာတွင်ကုဒ်နံပါတ်သည် websocket connection အသစ်ကိုဖန်တီးသည်, ဗွီဒီယိုစီးဆင်းမှုကိုဆာဗာသို့ပို့ပြီးဗွီဒီယိုအချက်အလက်များကိုအချိန်မှန်ထုတ်လွှင့်ခြင်း။
ဤဆောင်းပါးသည်အသံတိတ်စကားသံများနှင့်ဗွီဒီယိုများကို Real-time chat fatchings တွင်အသံမက်ဆေ့ခ်ျများနှင့်ဗွီဒီယိုများကိုနားလည်သဘောပေါက်ရန် weBrtc နှင့် websound နည်းပညာနှင့်အတူ PHP အသုံးပြုမှု၏အဓိကနည်းလမ်းများကိုမိတ်ဆက်ပေးသည်။ ဤနည်းပညာများမှတစ်ဆင့် developer များသည်အနိမ့်လတ်ဆတ်သောအသံနှင့်ဗွီဒီယိုလွှင့်ထုတ်မှုများကိုအလွယ်တကူရရှိနိုင်ပါသည်။