Cause: Normal call clearing (16)

在一次呼叫结束或者手动挂断,有时候出现未接通的时候,也会出现。

  • 查一下手册发现说明如下

该原因表示呼叫正在被清除,这是因为呼叫所涉及的用户之一已经请求清除呼叫。

在正常情况下,网络不发送这一原因。

这里说一下我遇到的情况,我的业务场景中需要放音一段wav音频,目前项目只是支持单声道、8kHz或者16kHz采样率,但是我使用的是双声道、22050 Hz,导致放音出现问题,然后一端请求清除呼叫。

  • 使用ffmpeg确定音频文件的信息

ffmpeg -i filename.wav

结果

Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from './board/attachment-wav.wav':
  Metadata:
    artist          : 彭健新
    genre           : Blues
    title           : 声音
    album           : 声音
    track           : 1
    encoder         : Lavf58.29.100
  Duration: 00:00:46.36, bitrate: 705 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
  • 使用ffmpeg调整声道数和采样率
ffmpeg -i atest.wav -ac 1 -ar 8000 test_new.wav

-i表示输出信息

-ac表示设置声道数

-ar表示这是采样率

结果如下

Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from 'attachment-wav.wav':
  Metadata:
    artist          : 彭健新
    genre           : Blues
    title           : 声音
    album           : 声音
    track           : 1
    encoder         : Lavf58.29.100
  Duration: 00:00:46.36, bitrate: 705 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
File 'attachment-wav_new.wav' already exists. Overwrite ? [y/N] Y
Stream mapping:
  Stream #0:0 -> #0:0 (pcm_s16le (native) -> pcm_s16le (native))
Press [q] to stop, [?] for help
Output #0, wav, to 'attachment-wav_new.wav':
  Metadata:
    IART            : 彭健新
    IGNR            : Blues
    INAM            : 声音
    IPRD            : 声音
    IPRT            : 1
    ISFT            : Lavf57.83.100
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 8000 Hz, mono, s16, 128 kb/s
    Metadata:
      encoder         : Lavc57.107.100 pcm_s16le
size=     725kB time=00:00:46.36 bitrate= 128.0kbits/s speed= 969x    
video:0kB audio:724kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.020490%
posted @ 2021-04-06 17:22  Reqaw  阅读(1449)  评论(0编辑  收藏  举报