SFML播放音频覆盆子PI

时间:2015-08-28 17:52:07

标签: c++ audio raspberry-pi sfml

无法让SFML在Raspberry上运行。

可以这样做吗?我需要播放几个声音文件,每个声音文件之间的时间很短。并成功地在我的Mac上制作了一个程序。这将用于RPi。

有没有人成功完成这项工作?

我试图用g ++和code :: blocks来设置它但是无法让它工作,我认为它与链接文件有关。 但是现在我开始怀疑它是否一直存在?

如果不是这样,任何一个简单的(我不是那个经验丰富的)库用于播放音频文件的建议是使用c ++的覆盆子pi吗?

希望有人能够迅速指出我正确的方向......

1 个答案:

答案 0 :(得分:3)

我最近设法让SFML 2.0在我的raspi上工作,但这并不容易。 SFML 1.6可用于覆盆子pi:

sudo apt-get install libsfml-dev

但我发现这与我用SFML 2.X编写的程序不兼容。我也试过并且没能使用SFML提供的Linux 32位二进制包。 我相信这样做的原因是因为raspi使用的是ARM处理器,而不是那个构建的。

我终于从the SFML download page下载了Linux源代码。我得到了SFML 2.0,因为我从源代码中找到的用于构建SFML的指令是针对该版本的,并且虽然您可能想要尝试更新版本,但它已经足够新了。我下载了所有依赖项并尝试使用我得到的脚本here进行安装。这可能对你有用,但我遇到了freetype库的问题。我找到的解决方案是将所有freetype头文件复制到父级" include"目录。可能有更好的方法,但这对我有用。我希望这会有所帮助。

编辑:我只需要在新的Raspian安装上再次执行此操作。这次我使用SFML 2.3。我没有与freetype相同的问题,但我必须安装以下依赖项:

sudo apt-get install libx11-xcb-dev
sudo apt-get install libxcb-image0-dev
sudo apt-get install libxcb-randr0-dev
sudo apt-get install libudev-dev

这是我使用的脚本:

安装依赖项:

sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libx11-dev
sudo apt-get install libxrandr-dev
sudo apt-get install libfreetype6-dev
sudo apt-get install libglew1.5-dev
sudo apt-get install libjpeg8-dev
sudo apt-get install libsndfile1-dev
sudo apt-get install libopenal-dev
sudo apt-get install cmake
sudo apt-get install g++

构建它:

echo Starting SFML 2.0 install
echo see install.log for install output..
echo No.. Really.. Read it, this is my first
echo batch script for linux, so expect bugs
echo especially because I can\'t be stuffed
echo using regex to look for error output


echo building make for dynamic release
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=TRUE > install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete

echo building make for dynamic debug
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=TRUE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete


echo building make for static release
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=FALSE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete


echo building make for static debug
cmake -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=FALSE >> install.log
echo Complete
echo making
make >> install.log
echo Complete
echo Installing
sudo make install >> install.log
echo Complete

运行这些,只需

  1. 将它们复制到文本文件

  2. 使用文件扩展名.sh

  3. 保存
  4. 在属性中,使其可执行 (或者,在终端:sudo chmod +x yourfile.sh

  5. 打开它,然后点击'在终端中执行' (或者,在终端:./yourfile.sh