我有一个使用 vlc 播放视频的 shell 脚本“vlc.sh”:
#!/bin/bash
vlc /home/sparky/sample.mp4
当我从我的登录运行此脚本时,我得到音频+视频。
当我从 Apache 用户 (通过 php) 调用此脚本时,我只能获得视频。Apache 错误日志抱怨音频:
[0x96053ec] pulse audio output error: cannot connect to server: Connection refused
ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4184:(_snd_config_evaluate) function snd_func_card_driver returned error:
No such file or directory
oss audio output error: cannot open audio device (/dev/dsp)
我尝试将 apache 用户添加到 audio、pulse、pulse-access 和 admin 组。但是没有成功。我正在运行 xubuntu 11.10。下一步我应该尝试什么?
答案1
答案来自关联原文作者在评论中提到了这一点。以下是其中的摘录:
事实证明,我需要编辑 /etc/group 文件,并将 videouser 用户添加到音频用户组中,该组用户允许在 root 登录会话期间播放音频。该行应如下所示:
# cat /etc/group|egrep -i "audio|pulse" audio:x:63:videouser,root pulse:x:474:videouser,root pulse-access:x:473:videouser,root
编辑后来自:
# cat /etc/group|egrep -i "audio|pulse" audio:x:63: pulse:x:474: pulse-access:x:473:
果然,有声音了。但是,pulseaudio 仍然显示错误。看来需要重新启动。