用php和amixer / pulseaudio设置音量

问题描述 投票:0回答:2

我的问题是,以下脚本在终端中执行正常,但在我的Apache2-Webserver上它没有做任何事情。

<?php
exec("/usr/bin/pactl set-sink-volume 0 60%");
?>

当它从终端执行时,我可以听到音乐越来越响亮

sudo php /var/www/html/test2.php

使用exec的其他命令在Web服务器上运行得非常好。工作范例:

<?php    
exec("/sbin/shutdown -r now");
?>

建立:

  • Apache 2.4
  • PHP 7
  • 覆盆子P3B +
  • Raspbian
  • 扬声器通过耳机插孔连接

在此先感谢您的帮助!

audio php raspberry-pi
2个回答
0
投票

首先检查组。一种方法是使用ls -lah /usr/bin/pactl。它应该显示其他信息,即拥有权限的用户和组。它还显示用户,组和其他人是否具有执行权限。

要将现有用户帐户添加到系统上的组,请使用usermod命令,将examplegroup替换为要添加用户的组的名称,并将andexampleusername替换为要添加的用户的名称。

usermod -a -G examplegroup exampleusername

例如,要将用户www-data添加到组音乐,请使用以下命令:

usermod -a -G music www-data

Source

编辑

另一种方法是允许所有用户通过向所有用户添加执行位来执行/usr/bin/pactl


0
投票

我的问题解决了。我正在将文件写入文件夹,脚本检查此文件夹中的文件并执行,而不是代码来控制音频(我现在用amixer而不是pactl控制它)。

无论如何,谢谢你的建议!

© www.soinside.com 2019 - 2024. All rights reserved.