首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果加载chan_alsa,Asterisks将锁定ALSA设备。

如果加载chan_alsa,Asterisks将锁定ALSA设备。
EN

Unix & Linux用户
提问于 2019-02-24 06:12:33
回答 1查看 626关注 0票数 0

我正在实现一个分机900,它将音频路由到ALSA设备。我还使用mpd,它通过ALSA播放音乐。

星号15,OpenWrt 18.06

mpd.conf

代码语言:javascript
复制
log_file "syslog"

bind_to_address "127.0.0.1"
bind_to_address "192.168.1.18"

input {
    plugin          "curl"
}

audio_output {
    type            "alsa"
    name            "sun4icodec"
    device          "hw:0,0"
    mixer_control   "Power Amplifier"
}

下面是与扩展相关的extensions.conf部分:

代码语言:javascript
复制
;SIP 900
exten => 900,1,NoOp(Testing calls to speakers. Dialing ${EXTEN} from ${CALLERID})
same => n,System(kill -9 `pgrep mpg123`)
same => n,System(amixer set 'Power Amplifier' 80%)
same => n,System(/usr/bin/aplay /var/lib/myapp/sounds/tone3.wav &)
same => n,System(sleep(4))
same => n,NoOp(Testing calls to speakers. Dialing ${EXTEN} from ${CALLERID})
same => n,Dial(CONSOLE/ALSA)
same => n,Hangup()
same => n,System(sleep(1))
same => n,System(amixer set 'Power Amplifier' 80%;)
same => n,System(sleep(4))

当加载chan_alsa时,它会锁定ALSA设备,当在mpd上播放某些内容时,我会得到以下错误:

代码语言:javascript
复制
aplay: main:722: audio open error: Resource busy

我在VoIP-信息上遇到过这种情况,但我不知道如何实现它,不确定我是否需要绕开软件和/或硬件混合。

  • output _ device = 指示用于播放声音的ALSA设备的名称,即用于侦听的设备名称。此处指定的设备名称将传递给ALSA声音层,因此任何ALSA设备名称都应该工作。 警告:星号可能会锁定在运行星号进程的整个期间指定的ALSA设备。您可能需要旋转软件和/或硬件混合设置,以保持星号不会阻塞输出设备。
EN

回答 1

Unix & Linux用户

发布于 2019-02-25 04:02:20

这意味着你需要允许模拟访问的混合器。

但是你的任务可以通过卫生部轻松地完成。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/502636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档