迪文科技论坛

 找回密码
 立即注册
搜索
查看: 156|回复: 3

【提问】Qt audio 播放异常

[复制链接]

3

主题

1

回帖

64

积分

注册会员

Rank: 2

积分
64
发表于 2024-6-17 19:08:52 | 显示全部楼层 |阅读模式
目前使用 DMT12800T121_35WTC,测试音频播放时出现异常:


1. 使用 命令行 aplay,可以播放音频,但偶尔会出现播放结束后有白噪?
2. 使用屏幕 测试程序,情况同上?
3. 自行编写测试程序,使用Qt sound, 出现 “PulseAudioService: pa_context_connect() failed” 异常,无法播放


论坛中没有相关内容支持,需要技术支持一下,或提供屏幕音频测试代码。
回复

使用道具 举报

0

主题

269

回帖

1747

积分

金牌会员

Rank: 6Rank: 6

积分
1747
发表于 2024-6-18 08:14:12 | 显示全部楼层
您好!以下解释可以参考一下。
报错解释:
PulseAudioService 是 PulseAudio 服务的一个组件,PulseAudio 是 Linux 系统上一个提供音频支持的守护进程。pa_context_connect() 是 PulseAudio 库中的一个函数,用于尝试建立与 PulseAudio 服务器的连接。如果这个函数失败了,就会出现 "PulseAudioService: pa_context_connect() failed" 的错误信息。

可能的原因包括:

PulseAudio 服务没有运行。

客户端和服务器之间的配置不正确,例如,socket 文件的路径不正确。

权限问题,客户端没有足够的权限去连接 PulseAudio 服务。

网络问题,如果 PulseAudio 配置为在网络上运行。

解决方法:

确保 PulseAudio 服务正在运行:pulseaudio --start --log-target=syslog

检查 PulseAudio 配置文件 /etc/pulse/client.conf 和 /etc/pulse/daemon.conf,确保服务器设置正确。

确保当前用户有权限访问 PulseAudio 的 socket 文件,通常在 /run/user/<user-id>/pulse/ 或 /var/run/pulse/。

如果是网络问题,检查 PulseAudio 是否配置为在网络上运行,并确保网络设置正确。

如果这些步骤不能解决问题,可能需要查看 PulseAudio 的日志文件,通常在 /var/log/syslog 或通过 journalctl 命令,以获取更详细的错误信息。
回复

使用道具 举报

3

主题

1

回帖

64

积分

注册会员

Rank: 2

积分
64
 楼主| 发表于 2024-6-18 11:30:43 | 显示全部楼层
Carla熊 发表于 2024-6-18 08:14
您好!以下解释可以参考一下。
报错解释:
PulseAudioService 是 PulseAudio 服务的一个组件,PulseAudio  ...

使用 pulseaudio -v 指令查看。log如下:
W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 9.0
I: [pulseaudio] main.c: Page size is 4096 bytes
I: [pulseaudio] main.c: Machine ID is A40i.
I: [pulseaudio] main.c: Using runtime directory /dev/shm/pulse.
I: [pulseaudio] main.c: Using state directory /root/.config/pulse.
I: [pulseaudio] main.c: Using modules directory /usr/lib/pulse-9.0/modules.
I: [pulseaudio] main.c: Running in system mode: no
I: [pulseaudio] main.c: System supports high resolution timers
I: [pulseaudio] cpu-arm.c: CPU flags: V6 V7 VFP EDSP NEON VFPV3
I: [pulseaudio] svolume_arm.c: Initialising ARM optimized volume functions.
I: [pulseaudio] sconv_neon.c: Initialising ARM NEON optimized conversions.
I: [pulseaudio] mix_neon.c: Initialising ARM NEON optimized mixing functions.
I: [pulseaudio] remap_neon.c: Initialising ARM NEON optimized remappers.
I: [pulseaudio] module-device-restore.c: Successfully opened database file '/root/.config/pulse/A40i-device-volumes'.
I: [pulseaudio] module.c: Loaded "module-device-restore" (index: #0; argument: "").
I: [pulseaudio] module-stream-restore.c: Successfully opened database file '/root/.config/pulse/A40i-stream-volumes'.
I: [pulseaudio] module.c: Loaded "module-stream-restore" (index: #1; argument: "").
I: [pulseaudio] module-card-restore.c: Successfully opened database file '/root/.config/pulse/A40i-card-database'.
I: [pulseaudio] module.c: Loaded "module-card-restore" (index: #2; argument: "").
I: [pulseaudio] module.c: Loaded "module-augment-properties" (index: #3; argument: "").
I: [pulseaudio] module.c: Loaded "module-switch-on-port-available" (index: #4; argument: "").
I: [pulseaudio] module-udev-detect.c: Found 0 cards.
I: [pulseaudio] module.c: Loaded "module-udev-detect" (index: #5; argument: "").
I: [pulseaudio] module.c: Loaded "module-esound-protocol-unix" (index: #6; argument: "").
I: [pulseaudio] module.c: Loaded "module-native-protocol-unix" (index: #7; argument: "").
I: [pulseaudio] module.c: Loaded "module-default-device-restore" (index: #8; argument: "").
I: [pulseaudio] module.c: Loaded "module-rescue-streams" (index: #9; argument: "").
I: [pulseaudio] sink.c: Created sink 0 "auto_null" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] sink.c:     device.description = "Dummy Output"
I: [pulseaudio] sink.c:     device.class = "abstract"
I: [pulseaudio] sink.c:     device.icon_name = "audio-card"
I: [pulseaudio] source.c: Created source 0 "auto_null.monitor" with sample spec s16le 2ch 44100Hz and channel map front-left,front-right
I: [pulseaudio] source.c:     device.description = "Monitor of Dummy Output"
I: [pulseaudio] source.c:     device.class = "monitor"
I: [pulseaudio] source.c:     device.icon_name = "audio-input-microphone"
I: [pulseaudio] module.c: Loaded "module-null-sink" (index: #11; argument: "sink_name=auto_null sink_properties='device.description="Dummy Output"'").
I: [pulseaudio] module.c: Loaded "module-always-sink" (index: #10; argument: "").
I: [pulseaudio] module.c: Loaded "module-intended-roles" (index: #12; argument: "").
I: [pulseaudio] module.c: Loaded "module-suspend-on-idle" (index: #13; argument: "").
E: [pulseaudio] module-console-kit.c: Unable to contact D-Bus system bus: org.freedesktop.DBus.Error.FileNotFound: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
E: [pulseaudio] module.c: Failed to load module "module-console-kit" (argument: ""): initialization failed.
E: [pulseaudio] main.c: Module load failed.
E: [pulseaudio] main.c: Failed to initialize daemon.
I: [pulseaudio] module.c: Unloading "module-suspend-on-idle" (index: #13).
I: [pulseaudio] module.c: Unloaded "module-suspend-on-idle" (index: #13).
I: [pulseaudio] module.c: Unloading "module-intended-roles" (index: #12).
I: [pulseaudio] module.c: Unloaded "module-intended-roles" (index: #12).
I: [pulseaudio] module.c: Unloading "module-null-sink" (index: #11).
I: [pulseaudio] sink.c: Freeing sink 0 "auto_null"
I: [pulseaudio] source.c: Freeing source 0 "auto_null.monitor"
I: [pulseaudio] module.c: Unloaded "module-null-sink" (index: #11).
I: [pulseaudio] module.c: Unloading "module-always-sink" (index: #10).
I: [pulseaudio] module.c: Unloaded "module-always-sink" (index: #10).
I: [pulseaudio] module.c: Unloading "module-rescue-streams" (index: #9).
I: [pulseaudio] module.c: Unloaded "module-rescue-streams" (index: #9).
I: [pulseaudio] module.c: Unloading "module-default-device-restore" (index: #8).
I: [pulseaudio] module.c: Unloaded "module-default-device-restore" (index: #8).
I: [pulseaudio] module.c: Unloading "module-native-protocol-unix" (index: #7).
I: [pulseaudio] module.c: Unloaded "module-native-protocol-unix" (index: #7).
I: [pulseaudio] module.c: Unloading "module-esound-protocol-unix" (index: #6).
I: [pulseaudio] module.c: Unloaded "module-esound-protocol-unix" (index: #6).
I: [pulseaudio] module.c: Unloading "module-udev-detect" (index: #5).
I: [pulseaudio] module.c: Unloaded "module-udev-detect" (index: #5).
I: [pulseaudio] module.c: Unloading "module-switch-on-port-available" (index: #4).
I: [pulseaudio] module.c: Unloaded "module-switch-on-port-available" (index: #4).
I: [pulseaudio] module.c: Unloading "module-augment-properties" (index: #3).
I: [pulseaudio] module.c: Unloaded "module-augment-properties" (index: #3).
I: [pulseaudio] module.c: Unloading "module-card-restore" (index: #2).
I: [pulseaudio] module.c: Unloaded "module-card-restore" (index: #2).
I: [pulseaudio] module.c: Unloading "module-stream-restore" (index: #1).
I: [pulseaudio] module.c: Unloaded "module-stream-restore" (index: #1).
I: [pulseaudio] module.c: Unloading "module-device-restore" (index: #0).
I: [pulseaudio] module.c: Unloaded "module-device-restore" (index: #0).
I: [pulseaudio] main.c: Daemon terminated.

其中无法连接socket文件。
该目录下无此文件,该异常为何?

目前猜测屏幕测试程序使用,Qprocess 运行 aplay 指令 ? 需要提供官方的屏幕测试demo验证。
回复

使用道具 举报

0

主题

643

回帖

7292

积分

论坛元老

Rank: 8Rank: 8

积分
7292
发表于 2024-6-21 08:44:44 | 显示全部楼层
airlcade 发表于 2024-6-18 11:30
使用 pulseaudio -v 指令查看。log如下:
W:  main.c: This program is not intended to be run as root  ...


您留个公司名和联系方式
沧海横流,方显英雄本色。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2024-10-18 14:18 , Processed in 0.080223 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表