在 Asterisk 中将在线广播电台作为等待音乐播放

Play online Radio Station as a Music on Hold in Asterisk

有没有办法(工具或任何想法)播放广播电台(通过IceCast流式传输)作为Music On Hold in Asterisk?, 我有流媒体服务器和 Asterisk 服务器 运行 并且独立工作很好,只有我想要整合两者.

请您帮忙,提前致谢

我的 OS: Linux - Centos

我的音乐保留 Class:

模式=自定义

应用程序=/usr/bin/sox mystreamingurl -b 64000 -r 44100 -t ogg -

这个脚本会产生异常和嘈杂的声音,这与流媒体服务器(IceCas)产生的声音完全不同。

A​​sterisk 的内部声音格式是 8khz 单声道 PCM

您应该直接为 sox 指定 in 和 out 使用哪种输出格式。

此外,sox 不是流媒体实用程序,您应该使用 MPlayer 之类的东西。

https://www.voip-info.org/asterisk-config-musiconholdconf/#StreamradiousingMPlayerforMOH

#!/bin/bash

if -n "`ls /tmp/asterisk-moh-pipe.*`" ; then
rm /tmp/asterisk-moh-pipe.*
fi

PIPE="/tmp/asterisk-moh-pipe.$$"
mknod $PIPE p

mplayer http://address_of_radio_station -really-quiet -quiet -ao pcm:file=$PIPE -af resample=8000,channels=1,format=mulaw 2>/dev/null | cat $PIPE 2>/dev/null
rm $PIPE

使用了 MPG123 播放器并且工作得很好

已更新 MOH Class:

mode=custom application=/usr/bin/mpg123 -q -r 8000 -f 8192 --mono -s http://mystreamingurl