微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Freeswitch 不回头

如何解决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。其他人也在工作,但在搜索等方面遇到麻烦。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。