首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行portaudio示例时Ubuntu出错

运行portaudio示例时Ubuntu出错
EN

Stack Overflow用户
提问于 2015-02-22 11:41:48
回答 3查看 2.1K关注 0票数 1

我在Ubuntu 14.04上安装了portaudio,并编译了测试程序,如下所示:

代码语言:javascript
复制
gcc -o Test3c Test3c.c ../libportaudio.a -lrt -lasound -ljack -lpthread -lm

没有错误。(Test3c.c与here中包含的pa_devs.c相同。)但当我运行它时,

代码语言:javascript
复制
./Test3c

我明白了:

代码语言:javascript
复制
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
PortAudio version number = 1899
PortAudio version text = 'PortAudio V19-devel (built Feb 14 2015 11:51:22)'
Number of devices = 20
--------------------------------------- device #0
Name                        = HDA Intel PCH: ALC892 Analog (hw:0,0)
Host API                    = ALSA
Max inputs = 2, Max outputs = 6
Default low input latency   =   0.0058
Default low output latency  =   0.0087
Default high input latency  =   0.0348
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 2 channel input = 
    44100.00, 48000.00, 96000.00, 192000.00
Supported standard sample rates
 for half-duplex 16 bit 6 channel output = 
None
Supported standard sample rates
 for full-duplex 16 bit 2 channel input, 6 channel output = 
None
--------------------------------------- device #1
Name                        = HDA Intel PCH: ALC892 Digital (hw:0,1)
Host API                    = ALSA
Max inputs = 0, Max outputs = 2
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 2 channel output = 
    32000.00, 44100.00, 48000.00, 88200.00,
    96000.00, 192000.00
--------------------------------------- device #2
Name                        = HDA Intel PCH: ALC892 Alt Analog (hw:0,2)
Host API                    = ALSA
Max inputs = 2, Max outputs = 0
Default low input latency   =   0.0058
Default low output latency  =  -1.0000
Default high input latency  =   0.0348
Default high output latency =  -1.0000
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 2 channel input = 
    44100.00, 48000.00, 96000.00, 192000.00
--------------------------------------- device #3
Name                        = HDA NVidia: HDMI 0 (hw:1,3)
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000.00, 44100.00, 48000.00, 88200.00,
    96000.00, 192000.00
--------------------------------------- device #4
Name                        = HDA NVidia: HDMI 0 (hw:1,7)
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000.00, 44100.00, 48000.00, 88200.00,
    96000.00, 192000.00
--------------------------------------- device #5
Name                        = HDA NVidia: HDMI 0 (hw:1,8)
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000.00, 44100.00, 48000.00, 88200.00,
    96000.00, 192000.00
--------------------------------------- device #6
Name                        = HDA NVidia: HDMI 0 (hw:1,9)
Host API                    = ALSA
Max inputs = 0, Max outputs = 8
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output = 
    32000.00, 44100.00, 48000.00, 88200.00,
    96000.00, 192000.00
--------------------------------------- device #7
Name                        = sysdefault
Host API                    = ALSA
Max inputs = 128, Max outputs = 128
Default low input latency   =   0.0213
Default low output latency  =   0.0213
Default high input latency  =   0.0213
Default high output latency =   0.0213
Default sample rate         = 48000.00
Supported standard sample rates
 for half-duplex 16 bit 128 channel input = 
     8000.00,  9600.00, 11025.00, 16000.00,
    22050.00, 32000.00, 44100.00, 48000.00,
    88200.00
Supported standard sample rates
 for half-duplex 16 bit 128 channel output = 
     8000.00,  9600.00, 11025.00, 16000.00,
    22050.00, 32000.00, 44100.00, 48000.00,
    88200.00
Supported standard sample rates
 for full-duplex 16 bit 128 channel input, 128 channel output = 
     8000.00,  9600.00, 11025.00, 16000.00,
    22050.00, 32000.00, 44100.00, 48000.00,
    88200.00
--------------------------------------- device #8
Name                        = front
Host API                    = ALSA
Max inputs = 0, Max outputs = 6
Default low input latency   =  -1.0000
Default low output latency  =   0.0058
Default high input latency  =  -1.0000
Default high output latency =   0.0348
Default sample rate         = 44100.00
Supported standard sample rates
 for half-duplex 16 bit 6 channel output = 
Test3c: pcm_params.c:2249: snd1_pcm_hw_params_slave: Assertion `err >= 0' failed.
Aborted (core dumped)
EN

回答 3

Stack Overflow用户

发布于 2015-03-09 01:55:50

所以我想我找到了一个解决方案。在最近的错误之后,我注意到建议使用不同的音频问题here以以下方式重新启动音频驱动程序:

代码语言:javascript
复制
pulseaudio -k && sudo alsa force-reload

我这样做了,然后尝试运行编译后的程序,但再次遇到错误(我想我有点不耐烦了)。然后,我再次执行此命令,现在它可以工作了。

更新:过了一段时间,我又收到了这个错误,必须重新启动驱动程序。

票数 1
EN

Stack Overflow用户

发布于 2015-06-12 04:07:18

目前我是Portaudio-linux主机的维护人员,在这里刚刚遇到了这个问题。Portaudio邮件列表上也报告了同样的问题,并对此进行了调查。断言在Alsa-lib中,现在已被Alsa开发人员删除,以支持错误返回。看见

http://git.alsa-project.org/?p=alsa-lib.git;a=commit;h=67f73b0fab466e780dcc0442e19894a1cbedc43b

某些设备似乎在“正面”(和其他一些)PCM上造成了6通道的问题。这不是Portaudio的错误,但当它探测设备和PCM的功能时,它暴露了Alsa系统中的问题。删除断言后,它现在只是无法实现这些功能。

票数 1
EN

Stack Overflow用户

发布于 2015-11-11 01:29:25

我遇到了同样的问题,并通过修复/usr/share/alsa/pcm中的一些错误的pcm定义解决了它。在靠近文件底部的route部分中,卡驱动程序引用的pcm与文件中定义的pcm不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28654254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档