ubuntu编译SDL2 ,运行SDL2Test错误 Couldn‘t open audio/video device: No available audio/video device_pulseaudio 已经启动,sdl运行找不到 pulse target-程序员宅基地

技术标签: SDL2  音视频  ubuntu  SDL  sdl  

ubuntu编译SDL2,运行test报错

问题:

  1. Couldn’t open audio device: No available audio device
  2. Couldn’t open video device: No available video device

环境

  1. Ubuntu 20.04.1 LTS 64bit
  2. SDL2-2.0.12

编译方式

wget http://www.libsdl.org/release/SDL2-2.0.12.tar.gz
tar -zxvf SDL2-2.0.12.tar.gz 
cd SDL
mkdir build
cd build
../configure
make
sudo make install

编译成功后运行SDL2 目录下的测试用例,先编译test目录文件

cd test
configure
make

运行loopwave

cd test
./loopwave

输入日志

sky@sky:~/SDL2-2.0.12/test$ ./loopwave
INFO: Available audio drivers:
INFO: 0: dsp
INFO: 1: disk
INFO: 2: dummy
Couldn't open audio device: No available audio device

搜索后找到了对应的解决方案,原话是这样的

If you built your own SDL, you probably didn’t have development headers
for PulseAudio (or ALSA), so it’s trying to use /dev/dsp, which doesn’t
exist on many modern Linux systems (hence, SDL_Init(SDL_INIT_AUDIO)
succeeds, but no devices are found when you try to open one). “apt-get
install libasound2-dev libpulse-dev” and rebuild SDL…let the configure
script find the new headers so it includes PulseAudio and ALSA support.

其实说白了就是你编译的环境默认使用dsp设备播放,但是由于现代操作系统已经不支持dsp了
你需要安装 libasound2-dev libpulse-dev这些库使SDL能使用PulseAudio播放.

解决办法

1. sudo apt  install libasound2-dev libpulse-dev
2. rebulid SDL
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xu912996973/article/details/108104920

智能推荐

Ubuntu 基本命令操作_ubantu怎么操作-程序员宅基地

文章浏览阅读1.2w次,点赞15次,收藏174次。Ubuntu 基本命令操作查看历史命令history目录的相关操作:ls 查看目录ls -a 查看所有的子目录及文件(包括隐藏的)ls -l 详细信息 包括创建信息权限等ls --color 查看文件的颜色 白色:表示普通文件 蓝色:表示目录 绿色:表示可执行文件(使用./文件名 执行) 红色:表示压缩文件 浅蓝色:链接文件 ..._ubantu怎么操作

Python list转置-程序员宅基地

文章浏览阅读8.5k次,点赞2次,收藏3次。python list 矩阵转置不调用numpymatrix = [[1,10,4,2],[9,3,8,7],[15,16,17,12]]matrix_t = zip(*matrix)"""zip中的 *list类似于解压*matrix = [1, 10, 4, 2] [9, 3, 8, 7] [15, 16, 17, 12]再用zip压缩"""补充zip的用法a = [1,2,3]b = [4,5,6]c = [4,5,6,7,8]zipped = zip(a,b) _python list转置

JS遍历对象的七种方法-程序员宅基地

文章浏览阅读2.5w次,点赞10次,收藏75次。ES6标准入门》学习并总结了七种遍历对象的方法,我会将分别介绍这七种方法并进行详细的区分,并将从**属性可枚举性**问题与**遍历方法**两个大方面讲述全文,其中可枚举性是掌握遍历对象之前的的铺垫,请读者耐心学习,掌握遍历对象的七种方法!_js遍历对象

Qt for Mac:配置/搭建开发环境_qt open source 6.4.2 for mac-程序员宅基地

文章浏览阅读3.8w次,点赞7次,收藏20次。经常看到有人在问,所以干脆整理下,其实步骤很简单。 我用的环境,在写稿时都是最新的,分别是:macOS 10.12.4、Xcode8.3.2和Qt5.8.0,都是在虚拟机里弄的。准备首先要准备一个macOS系统,这个是真机或者虚拟机都可。我这里用了虚拟机,安装步骤我就跳过不讲了。PS:我制作macOS系统安装U盘的命令是sudo /Applications/Install\ macOS\ Si_qt open source 6.4.2 for mac

MySQL TEXT与BLOB-程序员宅基地

文章浏览阅读7次。一般在保存少量字符串的时候,我们会选择CHAR或者VARCHAR;而在保存较大文本时,通常会选择使用TEXT或者BLOB。二者之间的主要差别是BLOB能用来保存二进制数据,比如照片;而TEXT只能保存字符数据,比如一篇文章或者日记。TEXT和BLOB中又分别包括TEXT、MEDIUMTEXT、LONGTEXT和BLOB、MEDIUMBLOB、LONGBLOB三种不同的类型,它们之间的主要区别是存...

Python urllib 入门使用(步骤详细)_urllib教程-程序员宅基地

文章浏览阅读1.3k次。urllib库,它是Python内置的HTTP`request` 请求模块,提供最基本的 `HTTP` 请求处理。`parse` 工具模块,提供处理 `url` 的很多方法:拆分、解析、合并等等。`error` 异常处理模块,如果出现请求错误,可以捕获这些错误,保证程序不会意外终止。`robotparser` 模块,主要用来识别网站的 `robots.txt` 文件,判断哪些网站可以爬取,用的比较少。# 使用 urllib# url 的组成wd=123# 协议 主机 端口号 路径 参数 锚点。_urllib教程

随便推点

FLINK 四大基石_flink四大基石-程序员宅基地

文章浏览阅读1.3k次,点赞2次,收藏7次。checkpoint、state、window、time_flink四大基石

debug:在 ‘__init__.py | __init__.py‘ 中找不到引用 ‘imread‘_在 '__init__.py | __init__.py | imported module cv2-程序员宅基地

文章浏览阅读2.6k次,点赞16次,收藏14次。debug_在 '__init__.py | __init__.py | imported module cv2' 中找不到引用 'fisheye

知识图谱可视化与用户交互设计_知识图谱前端可视化交互-程序员宅基地

文章浏览阅读907次,点赞15次,收藏20次。知识图谱可视化与用户交互设计作者:禅与计算机程序设计艺术1. 背景介绍知识图谱作为一种有效的知识表示和管理方式,在近年来得到了广泛的应用和研究。知识图谱不仅可以对复杂的概念、实体及其关系进行建模和存储,还能支持基于知识的推理和问答等智能应用。而知识图谱的可视化是实现人机交互_知识图谱前端可视化交互

Windows文件系统-程序员宅基地

文章浏览阅读6.2k次,点赞7次,收藏38次。文章目录0x01 文件系统概念0x02 常见文件系统FAT文件系统(windows)NTFS文件系统(windows)ExFAT(windows MACos linux)HFS/HFS+(MAC OS专用)EXT(3,4)(linux)XFS(linux)0x03 NTFS相对于FAT的优势容错性安全性(NTFS权限)文件压缩磁盘配额0x04 NTFS权限应用规则0x05 NTFS权限基本设置0x06 实验练习0x01 文件系统概念​ 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND_windows文件系统

(附源码)springboot美食推荐系统 计算机毕设29145-程序员宅基地

文章浏览阅读210次,点赞2次,收藏3次。1.系统用户主要使用系统的美食推荐系统小程序查看农产品、美食信息、新闻资讯、公告信息、基本信息等。2.管理员主要负责首页、轮播图管理、公告信息管理、系统用户(管理员、普通用户、商家用户、监管者)资源管理(新闻列表、新闻分类列表)模块管理(美食信息、订单信息、农产品、美食类型、农产品分类)个人信息。3.商家主要负责后台首页、模块管理(美食信息、订单信息)个人信息。监管者主要负责后台首页、模块管理(美食信息、订单信息、农产品)个人信息。_美食推荐系统

通信棒自动化测试工具-程序员宅基地

文章浏览阅读136次。本项目是(2023.11.xx-至今)在江苏xx智慧能源股份有限公司开发的,属于公司项目。该项目主要通过串口、蓝牙等通信方式完成通讯棒的自动检测