FreeSWITCH在会议室中持续播放音频文件
最近遇到一个客户需求,希望在会议室建立起来后,自动播放一段指定的声音。
已知会议室命令,假设建立起一个会议室号码3000,很容易实现以下功能:
一、播放一个声音文件一次
conference 3000 play /home/test.wav
二、播放一个声音文件二次
conference 3000 play file_string:///home/test.wav!/home/test.wav
三、播放不同的声音文件(原理同二)
conference 3000 play file_string:///home/test0.wav!/home/test1.wav
四、持续不停的播放一个声音文件
呃……其实绕弯路的方法是有的,监听会议室播放事件,一旦发现指定会议室的播放结束,就重新放一遍,直到会议室关闭……
有没有更优雅的方法呢?我想到了第一个进会议室的人,如果会议室里只有这一个人,那么TA会一直收到背景音乐的声音……
看看源代码,会议播放接口是一样的,那是为什么呢?
继续看看,啊哈,文件类型不一样!第一个人进会议室,播放的文件是local_stream://类型的!原理明白了,就好实现了……
1.把声音文件放置到合适的位置。
例如:/usr/local/freeswitch/sounds/test/8000路径下。
2.增加本地音频流配置,打开/usr/local/freeswitch/conf/autoload_configs/local_stream.conf.xml文件,增加如下配置:
1 <directory name="test/8000" path="$${sounds_dir}/test/8000"> 2 <param name="rate" value="8000"/> 3 <param name="shuffle" value="false"/> 4 <param name="channels" value="1"/> 5 <param name="interval" value="20"/> 6 <param name="timer-name" value="soft"/>
3.执行reload_local_stream test/8000使配置生效。
4.执行conference 3000 play local_stream://test。
OK,试一下,是不是3000里的所有成员都能一直循环听这个声音了呢?
FreeSWITCH在会议室中持续播放音频文件相关推荐
- 如何实现在直播中播放音频文件
在我们看直播的时候,经常会在直播过程中听到有掌声.口哨声.背景音乐等音效,那么这些声音特效是如何实现的呢大家有没有想过?anyRTC下面就为大家简单介绍一下如何实现在直播过程中播放音频文件. 功能描述 ...
- ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件...
原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...
- C#调用mciSendString播放音频文件
mciSendString函数是一个WinAPI,主要用来向MCI(Media Control Interface)设备发送字符串命令. 一.函数的声明如下: private static exter ...
- js 自动播放音频文件,报警提示音等
js 自动播放音频文件,报警提示音等 谷歌浏览器的音频,默认是不能在页面载入时直接自动播放的. 至少需要用户点击一下页面,才可以播放音频,这个策略的目的是保证用户的体验感,如果每个页面都能在用户未接触 ...
- python播放音频文件_详解使用pygame播放一段MP3音频文件
近日,在梳理pygame模块的时候发现一个很有用的模块mixer模块,这个模块翻译过来就是混音器,它可以加载和播放音频文件,甚至可以对混音器进行设置和处理,其功能非常强大.今天,我们一起来梳理一下混音 ...
- 使用树莓派播放音频文件
使用树莓派播放音频文件 一.首先,我们需要对树莓派的音频输出进行设置 步骤1:登录树莓派,打开终端,执行sudo raspi-config命令 步骤2:选择第7项Advanced Options高级选 ...
- h5 audio播放音频文件
h5 audio播放音频文件 注:下面html中样式及不相关的内容去掉了 第一个例子 播放没有防盗链的外网音频文件是可以的 <!doctype html> <html> < ...
- QMediaPlayer播放音频文件
windows操作系统 在 Windows 操作系统下,使用 Qt 框架提供的 QMediaPlayer 播放音频文件时,需要依赖一些 Windows 平台自带的编解码器库. Qt 框架中的 QMed ...
- Unity 播放音频文件
Unity 播放音频文件参考代码: 1 public void Play(string strSoundName, float autoDestroyTime = 0f, bool bLoop = f ...
- 从mp4中提取wav音频文件
需求: 从mp4文件中提取wav音频文件 运行效果: mp4: 运行后脚本后提取出的wav文件 代码: import os.pathimport moviepy.editor as mpe# 导出格式 ...
最新文章
- 一文梳理视觉Transformer架构进展:与CNN相比,ViT赢在哪儿?
- 果园机器人能干什么_24* 果园机器人优秀教学实录
- mvn打包的POm文件
- python爬虫文件代码大全-Python网络爬虫实战项目代码大全(长期更新,欢迎补充)...
- 机器学习 可视化_机器学习-可视化
- SpringData+JPA+mysql, cannot be null when ‘hibernate.dialect‘ not set
- c语言spi测试代码,C语言程序SPI
- Python中用pandas将numpy中的数组数据保存到csv文件
- 阿里云云计算 37 PolarDB MySQL的连接
- Python之路,Day21 - 常用算法学习
- wps android 安装包下载地址,WPS Office手机版下载安装_WPS Office下载软件安卓版13.0.1...
- 超市库存管理系统 (SSM JAVA)
- 计数oracle,SQL数据透视表子组计数
- Lettuce: Connection to x.x.x.x not allowed. This connection point is not known in the cluster view
- 二战字节跳动成功上岸,准备了小半年,拿27k也算不上很高吧~
- 零售药店计算机操作内容培训,零售药店gsp培训计划.doc
- 绝对的开怀大笑-轻松一下
- 华为防火墙SLB算法
- 跟驰理论 matlab,[经济学]第5章 跟驰理论.ppt
- dell灵越笔记本后盖怎么拆_戴尔灵越5000笔记本拆解 内部做工相当出众