Freeswitch 不回头

问题描述

我试图在 Freeswitch 中摆脱控制通过 session.streamFile() 播放的音频。为此,我尝试了 this documentation 的第三个示例。

这里几乎所有东西都在工作,但 DTMF 1 (seek:-500) 不回寻。它总是从头开始(如seek:0)。 这可能是什么原因?我正在使用这个例子。

代码:

var exit = false;
 
function onInput( session,type,data,arg ) {
  if ( type == "dtmf" ) {
    console_log( "info","Got digit " + data.digit + "\n" );
    if ( data.digit == "*" ) {
      exit = true;
      return( false );
 
    }
    else if ( data.digit == "0" ) {
      return( "seek:0" );
 
    }
    else if ( data.digit == "1" ) {
      return( "seek:-500" );
 
    }
    else if ( data.digit == "2" ) {
      return( "pause" );
 
    }
    else if ( data.digit == "3" ) {
      return( "seek:+500" );
 
    }
    return( true );
 
  }
 
}
 
if ( session.ready( ) ) {
  session.answer( );
  while ( session.ready( ) && ! exit ) {
    session.streamFile( "<path to WAV>",onInput );
 
  }
  if ( session.ready( ) ) {
    session.hangup( );
 
  }
 
}

解决方法

同时我找到了原因。它属于采样率。 Freeswitch 更喜欢采样率为 16000 的 wav。其他人也在工作,但在搜索等方面遇到麻烦。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...