![Asterisk 無法在背景或 MP3Player APP 中播放音訊](https://rvso.com/image/1692502/Asterisk%20%E7%84%A1%E6%B3%95%E5%9C%A8%E8%83%8C%E6%99%AF%E6%88%96%20MP3Player%20APP%20%E4%B8%AD%E6%92%AD%E6%94%BE%E9%9F%B3%E8%A8%8A.png)
大家好,在Centos 7 伺服器上製作的Asterisk 18 中,當我想播放一個wav 檔案時,單聲道pcm s16 le 8000 hz 讓我們呼叫MyWavFile.wav 我嘗試以應用程式BackGround 或MP3Player 的方式播放它,我得到了一個非常類似的反應
-- Executing [112@local:1] Answer("PJSIP/5020-00000000", "") in new stack
-- Executing [112@local:2] BackGround("PJSIP/5020-00000000", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
[Jul 12 23:26:49] WARNING[8272][C-00000001]: file.c:824 ast_openstream_full: File /var/lib/asterisk/moh/MyWavFile.wav does not exist in any format
[Jul 12 23:26:49] WARNING[8272][C-00000001]: file.c:1303 ast_streamfile: Unable to open /var/lib/asterisk/moh/MyWavFile.wav (format (ulaw)): No such file or directory
[Jul 12 23:26:49] WARNING[8272][C-00000001]: pbx_builtins.c:1256 pbx_builtin_background: ast_streamfile failed on PJSIP/5020-00000000 for /var/lib/asterisk/moh/MyWavFile.wav
-- Executing [112@local:3] Hangup("PJSIP/5020-00000000", "") in new stack
-- Executing [112@local:1] Answer("PJSIP/5020-00000001", "") in new stack
-- Executing [112@local:2] MP3Player("PJSIP/5020-00000001", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
[Jul 12 23:27:42] WARNING[8288][C-00000002]: app_mp3.c:258 mp3_exec: MP3 stream '/var/lib/asterisk/moh/MyWavFile.wav' is broken or nonexistent
-- Executing [112@local:3] Hangup("PJSIP/5020-00000001", "") in new stack
但如果我使用與 MOH 相同的文件,它可以播放 MMMM ,這應該缺少什麼?
謝謝大家的幫忙!
答案1
Asterisk 是多格式 PBX。文件可能不是以 .wav 結尾,而是以 .g729 或 .gsm 結尾
可以是多個同名文件,星號將根據編解碼器路徑選擇一個文件。
所以。這
Executing [112@local:2] BackGround("PJSIP/5020-00000000", "/var/lib/asterisk/moh/MyWavFile.wav") in new stack
不應該工作。您已將檔案名稱設定為不含副檔名,如下所示
exten => 112,2,BackGround(/var/lib/asterisk/moh/MyWavFile)
ps在你的情況下,編解碼器是ulaw,它將搜尋 -> .ulaw ->.sln ->.wav -> .alaw -> .WAV(gsm) -> .gsm 等。