我正在尝试从呼叫音频媒体获取音频流,以便能够将其发送到 Speech-to-Text 引擎(从流输入转录音频)。关于如何实现这一目标的任何想法?
版本信息:POSIX 的 pjlib 2.8-svn
先感谢您。
我正在尝试从呼叫音频媒体获取音频流,以便能够将其发送到 Speech-to-Text 引擎(从流输入转录音频)。关于如何实现这一目标的任何想法?
版本信息:POSIX 的 pjlib 2.8-svn
先感谢您。
我从 pjsip FAQ 中找到了一个建议:https ://trac.pjsip.org/repos/wiki/FAQ#audio-man
您可以通过创建新端口来获取实时音频媒体,并在 <code>mem_capture.c 和 中找到有用的信息wav_writer.c
:
对于仅接收器媒体端口,示例包括:
在 Call 类的 onCallMediaState 中使用 getAudioMedia(),我们可以得到 call 的 AudioMedia,类似这样(C++ 中的简单方法):
void SipCall::onCallMediaState(OnCallMediaStateParam &prm) {
this->callInfo = getInfo();
unsigned media_size = this->callInfo.media.size();
for (unsigned i = 0; i < media_size; i++) { // ci.media.size()
AudioMedia audioMedia = getAudioMedia(i);
// do somthing with audio Media
// example send to audio device:
// AudDevManager& manager = Endpoint::instance().audDevManager();
// audioMedia.startTransmit(manager.getPlaybackDevMedia());
// do something....
}
}
对不起,但我希望它能有所帮助。