نوشته شده توسط
ali_habibi1384
توي اين چند سال اينقدر از اين تاپيكهاي كاربا تلفن گويا ديدم كه وقتي ميبينم يكي تاپيك زده كلا حالم يه جوري ميشه! معمولا هم پس از يه مدت مشخص يه خيرخواه پيدا ميشه و ميخواد مفتي به همه آموزش بده.و اولش هم ميگه هيچكدوم به نتيجه نرسيده و من به نتيجه ميرسونمش.مثل همين باباي صاحب تاپيك. تعجب من در اينجاست كه چطور توي اين چند ماه تاپيك بدون محتواي علمي مثل اين همچنان وجود داره! پس مديران سايت كجاند؟؟؟؟؟
پروژه پاياني دوره كارشناسي من (5-6سال پيش) نرم افزار ديسپيجينگ پخش صوت پالايشگاه گاز خانگيران سرخس (هاشمي نژاد)بود كه تلفن گويا بخش كوچكي از اون سيستم بود و ميدونم اونقدر پيچيدگي داره كه كسي كه كار كرده اطلاعاتش رو رايگان در اختيار كس و يا كساني قرار نميده. جدا از بخش نرم افزاري قسمتهاي سخت افزاري زياد و آشنايي كامل با مودمها ATCommand , توابع Tapi كه مرجع فارسي هيچكدام موجود نيست و با يه فايل زبان اصلي بايد كار خودتو راه بندازي. با توجه به موارد فوق با ديدن موضوع آموزش تلفن گويا دل خودتونو صابون نزنيد.
اگر هدف اين آقا واقعا اين بود كه بدونه چند نفر مشتاقند بجاي جمع كردن تشكر يه نظرسنجي با بله و خير درست ميكرد. . .
مهندس،کار با KDTELE خیلی سخت نیست،
فقط کافیه رفرنس مربوطه رو به پروژه تون اضافه کنید بعد از اون ابتدا باید دیوایس مربوطه رو انتخاب کنید و اون رو Active کنید :
Int32 lNum;
string lName = "";
for (lNum = 0; lNum < axKDPhone1.NumberOfLines - 1; lNum++)
{
axKDPhone1.GetLineName(lNum, ref lName);
if(lName!=null)
{
cbDeviceList.Items.Add(lName);
}
}
مثلا توی کد بالا لیست تمام دیوایس ها رو توی یه کمبو باکس اضافه می کنیم.
برای اکتیو کردن دیوایس انتخاب شده :
Int32 er = axKDPhone1.LineActive(cbDeviceList.SelectedIndex, true);
و بعد با کد زیر شماره رو می گیریم :
axKDPhone1.DialNumber(txtNumber.Text, 0);
بقیه اش با خودتون...کار کردن با یه سری Eventه مثلا توی رخداد OnCallState می تونیم Stateها رو چک کنیم مثلا یکی از Stateها مشخص میکنه وقتی بعد از شماره گیری تماس برقرار شد یه فایل صوتی رو پخش کنه : (با یه Switch Case وضعیت را چک می کنیم مثلا برای حالت زیر)
switch (e.callState)
{
case KDTele.TxCallState.csConnected:
{
tsMessage.Text = "ارتباط برقرار شد خط آماده مکالمه می باشد.";
Int32 lvRet = axKDVoice1.Play(axKDPhone1.WavePlayID, @"D:\CallKD\01-Rolling-in-the-Deep.wav", 0, -1);
if (lvRet != 0)
{
axKDPhone1.Hangup();
MessageBox.Show("Error: " + axKDPhone1.GetErrorMsg(lvRet), "Attention");
}
}
break;
}