macos – 如何使用Voice API使用华为3g调制解调器进行呼叫?

macos – 如何使用Voice API使用华为3g调制解调器进行呼叫?,第1张

概述一些像我这样的华为3g调制解调器(E1752)具有拨打和接听电话的能力.我相信板载有可以在拨打或接听电话时使用的PCM频道,但我没有更多相关信息. 我正在使用他们的应用程序称为移动合作伙伴,这是一个相当完整的应用程序,支持拨打和接听电话但我想构建我自己的应用程序,它将在Mac OS X上运行.但我无法找到任何详细说明Voice API和板载PCM通道的文档.如果有人知道这一点,请告诉我. 谢谢 H 一些像我这样的华为3g调制解调器(E1752)具有拨打和接听电话的能力.我相信板载有可以在拨打或接听电话时使用的PCM频道,但我没有更多相关信息.

我正在使用他们的应用程序称为移动合作伙伴,这是一个相当完整的应用程序,支持拨打和接听电话但我想构建我自己的应用程序,它将在Mac OS X上运行.但我无法找到任何详细说明Voice API和板载PCM通道的文档.如果有人知道这一点,请告诉我.

谢谢
Harryd

解决方法 语音实现如下: – 您的调制解调器共注册5个设备.音频通过名为“华为移动连接 – 应用程序接口”的串口发送.

语音(输入)数据的格式:

wFormatTag = WAVE_FORMAT_PCM;  nChannels = 1;  nSamplesPerSec = 8000;  nAvgBytesPerSec = 16000;  nBlockAlign = 2;  wBitsPerSample = 16;  cbSize = 0;

Readfile或Writefile *** 作(对于COM端口)中的语音数据块大小必须设置为320字节.在每个Readfile之后必须进行Writefile *** 作(在其他选择缓冲区中将溢出并且调制解调器将在一段时间后重新启动).样品:

//   BlockSize - size of buff for wave in|out operations (in my case 320*4 bytes)   while (!bAllRead) {    if (cInfo->hCom == INVALID_HANDLE_VALUE) {     SetVoiceClosed(cInfo);//exit from thread     return 0;    }    BOol isRead = Readfile(cInfo->hCom,cInfo->header[counter].lpData + currBlocLength,320,&nActualRead,&cInfo->o);    if (isRead || (GetLastError() == ERROR_IO_PENDING && GetoverlappedResult(cInfo->hCom,&cInfo->o,TRUE))) {     if (nActualRead > 0) {      // обратка      nActualWrite = 0;      int nActualWriteall = 0;      BOol isWrite = Writefile(cInfo->hCom,CurrBuffPtr + currBlocLength,nActualRead,&nActualWrite,&cInfo->oVoiceOut);      while (isWrite || (GetLastError() == ERROR_IO_PENDING && GetoverlappedResult(cInfo->hCom,&cInfo->oVoiceOut,TRUE))) {       nActualWriteall += nActualWrite;       if (nActualWriteall >= nActualRead)        break;      }      currBlocLength += nActualRead;      if (currBlocLength >= BlockSize)       bAllRead = true;     }     else {      Sleep(25);// wait for voice data (resync)      PurgeComm(cInfo->hCom,PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);     }    }    else {     bAllRead = true;// there are no active call     PurgeComm(cInfo->hCom,PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR);    }   }

像这样的东西))).我没有在互联网上找到任何有用的信息,所以所有建议都基于我的实验.我希望这很有用.

PS:我希望波浪进出 *** 作对你来说不是问题.

PS2:对不起我的英语,我来自乌克兰.

总结

以上是内存溢出为你收集整理的macos – 如何使用Voice API使用华为3g调制解调器进行呼叫?全部内容,希望文章能够帮你解决macos – 如何使用Voice API使用华为3g调制解调器进行呼叫?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1026601.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存