QAVF 音频共享所需组件

QAVF 音频共享所需组件

为了支持QNX Hypervisor系统中的共享音频,您必须向guest和host images添加组件,并在guest的虚拟机中配置virtio-snd vdev。

host可以为每个guest提供不同的音频功能,就好像每个guest都在独立的板子上运行一样。例如,一个guest可以被允许捕获和输出音频,而另一个guest只能输出音频。

要将host中的音频功能呈现给任何特定的guest,您需要在托管guest的虚拟机中配置virtio-snd vdev。vdev配置指定了host上哪些PCM流暴露给了guest。它还指定了必须应用于guest的音频参数限制,例如采样率、支持的格式以及最小和最大fragment大小。有关详细信息,请参阅“vdev virtio-snd”。

Host 组件

要启用audio framework,您的host上必须具备以下组件:

  • 音频驱动程序(deva-*),在目标板上运行QNX Neutrino RTOS时会使用这些驱动程序。
  • host audio service(io-audio),用于为guests和host应用程序提供音频捕获、播放和管理功能。
  • 音频设备配置文件(例如io-audio.conf),用于配置host上的音频设备。
  • 音频管理配置文件(例如audio_policy.conf),用于配置host上的音频策略(可选)。
  • 提供访问音频功能的vdev,即virtio-snd。vdev模块vdev-virtio-snd.so必须包含在您的hypervisor host构建文件的shared object列表中。
  • 针对每个托管需要使用音频的guest的虚拟机,都要配置virtio-snd vdev;有关如何进行配置的信息,请参阅“vdev virtio-snd”。
  • 每个在虚拟机中运行的guest的配置文件(*.qvmconf)路径被包含在您的hypervisor host构建文件中。

有关如何配置hypervisor host的一般信息,请参阅QNX Hypervisor用户指南中的“Configuration”部分。

Guest 组件

由于virtio-snd vdev是一个para-virtualized设备,因此guest必须具备能够与vdev通信的VirtIO音频驱动程序。

通过多个实体管理对物理设备的访问

如果host拥有的PCM设备需要支持多个guests上的并发播放,您必须为该设备配置软件混音器。默认情况下启用此混音器,但可以通过host中的io-audio服务的启动指令(硬件驱动加载时)或通过音频策略配置文件io_audio_*.conf来禁用它(或明确启用)。

同样,如果需要通过相同的PCM设备(在host上)进行并发捕获,则必须为该设备配置软件分离器。

最后,如果host还需要通过对guest可访问的PCM设备进行播放或捕获音频,则host必须具备软件混音器和/或分离器来管理并发播放和捕获。

有关io-audio服务以及软件混音器和分离器的支持的更多信息,请参阅音频开发人员指南。另请参阅QNX Neutrino Utilities参考中的io-audio条目。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程