Freeswitch 不寻求回报

Freeswitch doesn't seek back

我试图摆脱在 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。其他人也在工作,但在搜索等方面遇到麻烦