Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ mplayer不';我突然不喜欢波本了?_C++_Linux_Popen_Mplayer - Fatal编程技术网

C++ mplayer不';我突然不喜欢波本了?

C++ mplayer不';我突然不喜欢波本了?,c++,linux,popen,mplayer,C++,Linux,Popen,Mplayer,几天来一直为波本的一个问题而苦恼 守则: int main(){ FILE *fp = popen("mplayer /home/linaro/Music/cp.mp3", "r"); char buffer[1028]; while (fgets(buffer, 1028, fp) != NULL) { std::cerr<<buffer; } pclose(fp); fp = 0; return 0; intmain(){ 文件*fp=popen(“mplaye

几天来一直为波本的一个问题而苦恼

守则:

int main(){
 FILE *fp = popen("mplayer /home/linaro/Music/cp.mp3", "r");
char buffer[1028]; 
while (fgets(buffer, 1028, fp) != NULL) 
{ 
  std::cerr<<buffer; 
} 
pclose(fp);
fp = 0;
return 0;
intmain(){
文件*fp=popen(“mplayer/home/linaro/Music/cp.mp3”,“r”);
字符缓冲区[1028];
while(fgets(缓冲区,1028,fp)!=NULL)
{ 
没有声音。音频:没有声音

视频:没有视频

同样,如果我将它通过popen执行的确切命令复制并粘贴到控制台中,它就会开始播放。如果通过-ao-alsa,-ao-pulse,-ao-oss也会失败,这让我完全难堪。任何帮助都将不胜感激

编辑:
Linux就是linaro,基于Ubuntu12.04,使用arm CPU,正如Jonas和alk所建议的那样——权限。在这一过程中,有些东西改变了它的运行方式,但最终肮脏的修复只是包括

su - user -c ' mplayer ... '

到正在调用的行。

我看到许多权限被拒绝的错误。如何启动您的C程序?如果您使用bash脚本重新启动您的C程序,会发生什么情况?另外,请添加您正在使用的确切linux发行版本,以及SELinux或AppArmor是否参与其中。来自
man popen()
:“此命令传递给/bin/sh"那么,在您的测试环境中,
/bin/sh
是从什么开始的呢?乔纳斯:我正在用sudo执行它,但是mplayer本身从终端运行,有sudo也有,没有sudo。@alk不知道如何回答。如果您认为有帮助的话,我可以做一个printenv。最奇怪的是,它最初工作,然后停止。更新了将Linux版本包括在内