AirSim配置文件front_stereo_and_center_mono解析

本文档详细解析了AirSim的front_stereo_and_center_mono.json配置文件,涵盖SimMode、ViewMode、ClockSpeed等关键参数,并重点介绍了载具定义、传感器设置,特别是相机参数,包括分辨率、FOV、图像类型等,展示了如何配置多目相机和单目相机以满足不同应用场景需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是AirSim配置文件front_stereo_and_center_mono.json文件全文及其注释

{
  #SeeDocsAt参数用于提示官方文档地址
  "SeeDocsAt": "https://github.com/Microsoft/AirSim/blob/master/docs/settings.md",
  #SettingsVersion该参数用于指出settings.json文件版本
  "SettingsVersion": 1.2,
  #SimMode参数用于指定仿真模式,“Multirotor”为无人机仿真,“Car”为汽车仿真,“CumputerVison”为计算机自由视角
  #“”为仿真开始时用户从汽车和无人机中选择一个,如果要与ros联合仿真,SimMode必须指定出来,不能使用空参数
  "SimMode": "",
  #ViewMode参数用于设置仿真运行时候屏幕呈现给你用于交互的视角模式,和载具上传感器采集的数据无关
  #“FlyWithMe”为6自由度从后面追拍,“GroundObserver”从离开6米处拍,在xy平面具有完全自由度,“Fpv”从前置摄像头拍摄
  #“Manual”为手动控制,视角不会自动移动,“SpringArmChase”为使用安装在隐形臂上的摄像头从后面追拍,注意该模式在运动中有一定延迟
  #“Nodisplay”冻结屏幕渲染,提高仿真性能,其中汽车仿真默认值为“SpringArmChase”,飞机仿真默认值为“FlyWithMe”
  "ViewMode": "SpringArmChase",
  #CLockSpeed参数用于设置仿真时间相对于现实时间的倍率,减慢仿真速率(值<1.0)可以提高仿真质量
  "ClockSpeed": 1.0,
  #Vehicles是一个关键字,我们需要在其后面的{}中定义我们使用的仿真载具的具体信息,注意这里的Vechicles是关键字,而不是说明仿真载具是车辆
  #具体的仿真载具类型是我们在Vecicles后面的{}中定义的

  # ------------------仿真载具定义开始--------------#
  "Vehicles": {

    #-----------------定义drone_0载具开始----------#
    #这里的"drone_0"参数是载具名称,可以定义多个载具,每个载具需要由不同的名称
    "drone_0":{

    },
    #-----------------定义drone_0载具结束----------#

    #-----------------定义drone_1载具开始----------#
    "drone_1": {
      #VehicleType参数是载具类型,必须填写。“PhysXCar”为可以使用键盘和api控制的汽车,“SimpleFlight”为可以使用api控制的无人机
      #还有四个可以选择的参数为"PX4Multirotor","ComputerVision","ArduCopter","ArduRover",似乎是需要电脑外接控制器的载具类型
      "VehicleType": "SimpleFlight",
      #DefaultVehicleState参数是载具初始状态,对于车辆仿真,该项选项为“”;对于飞机仿真,由两个可选参数
      #“Armed”为就绪状态,飞机可以起飞,“Disarmed”为锁定状态,飞机需要先解锁再起飞
      "DefaultVehicleState": "Armed",
      #EnableCollisionPassthrogh参数为是否允许物体在碰撞时候穿模,“true”为可以,“false”为不可以,一般应设置为false
      "EnableCollisionPassthrogh": false,
      #EnableCollisions是否启用碰撞系统(就是一个物体可以吧另外一个撞飞),“true”为可以,“false”为不可以
      "EnableCollisions": true,
      #AllowAPIAlways是否总是允许API控制载具,“true”为总是允许,此时api总是拥有载具的控制权限。
      #“flase”为不总是允许,此时如果使用RC控制器,则需要在RC控制器上手动同意api控制,api才会接管载具控制
      "AllowAPIAlways": true,

      #-------------------------设置drone_1载具控制器------------#
      "RC": {
        #RemoteControlID参数为使用的RC控制器的编号,当进行车辆仿真时候,设置为-1是使用键盘控制
        "RemoteControlID": 0,
        #AllowAPIWhenDisconnected为RC控制器失去连接时候是否允许api接管控制,true为允许,false为不允许
        "AllowAPIWhenDisconnected": false
      },
      #-------------------------设置drone_1载具控制器结束---------#

      #-------------------------设置drone_1除了相机外的传感器----------------#
      "Sensors": {
        #“Imu“为传感器名字,可以自定义
        "Imu" : {
          #SensorType为传感器类型,”1“为气压计,”2“为IMU,”3“为GPS,”4“为磁力计,”5“为距离传感器,”6“为激光雷达
          "SensorType": 2,
          #Enabled为传感器是否激活,true为激活
          "Enabled": true
        },
        #"Lidar"为传感器名字
        "Lidar": {
          "SensorType": 6,
          "Enabled": true,
          #NumberOfChannels为激光雷达通道数
          "NumberOfChannels": 16,
          #PointsPerSecond为每秒捕获的点数
          "PointsPerSecond": 10000,
          #”X,Y,Z“为激光雷达相对于车辆的位置,以NED为参考坐标系,以米为单位
          "X": 0,
          "Y": 0,
          "Z": -1,
          #DrawDebugPoints参数为是否在交互渲染界面绘制激光点,注意如果绘制激光点相机采集的图像中也会有这些点
          "DrawDebugPoints": false
        }
      },
      #-------------------------设置drone_1除了相机外的传感器----------------#

      #-------------------------设置drone_1的相机传感器---------------------#
      "Cameras": {
        #front_center_custom为相机名称,后面{}内容为该相机设定
        "front_center_custom": {
          #CaptureSettings为相机参数设定
          "CaptureSettings": [
            {
              "PublishToRos": 1,
              "ImageType": 0,
              "Width": 640,
              "Height": 480,
              "FOV_Degrees": 27,
              "DepthOfFieldFstop": 2.8,
              "DepthOfFieldFocalDistance": 200.0, 
              "DepthOfFieldFocalRegion": 200.0,
              "TargetGamma": 1.5
            }
          ],
          "X": 0.50, "Y": 0, "Z": 0.10,
          "Pitch": 0, "Roll": 0, "Yaw": 0
        },

        #front_left_custom为相机名称,后面{}内容为该相机设定
        "front_left_custom": {
          "CaptureSettings": [
            {
              "PublishToRos": 1,
              "ImageType": 0,
              "Width": 672,
              "Height": 376,
              "FOV_Degrees": 90,
              "TargetGamma": 1.5
            }, 
            {
              "PublishToRos": 1,
              "ImageType": 1,
              "Width": 672,
              "Height": 376,
              "FOV_Degrees": 90,
              "TargetGamma": 1.5
            }
          ],
          "X": 0.50, "Y": -0.06, "Z": 0.10,
          "Pitch": 0.0, "Roll": 0.0, "Yaw": 0.0
        },

        #front_right_custom为相机名称,后面{}内容为该相机设定
        "front_right_custom": {
          "CaptureSettings": [
            {
              "PublishToRos": 1,
              "ImageType": 0,
              "Width": 672,
              "Height": 376,
              "FOV_Degrees": 90,
              "TargetGamma": 1.5
            }
          ],
          "X": 0.50, "Y": 0.06, "Z": 0.10,
          "Pitch": 0.0, "Roll": 0.0, "Yaw": 0.0
        }
      },
      #-------------------------设置drone_1的相机传感器结束---------------------#

      #drone_1车辆在NED坐标系中的初始位置
      "X": 2, "Y": 0, "Z": 0,
      "Pitch": 0, "Roll": 0, "Yaw": 0
    }
    #--------------------定义drone_1载具结束-----------------#
  },
  #----------------------仿真载具定义结束---------------------#

  #SubWindows配置子窗口,WindowID:0,1,2分别对应按键1,2,3时显示的窗口
  "SubWindows": [
  #CameraName参数是子窗口的图像来源
  #Visible是仿真时候窗口是否默认打开,如果Visible的参数是false,需要在仿真时候手动通过数字按键打开该窗口
    {"WindowID": 0, "ImageType": 0, "CameraName": "front_left_custom", "Visible": true},
    {"WindowID": 1, "ImageType": 0, "CameraName": "front_center_custom", "Visible": false},
    {"WindowID": 2, "ImageType": 0, "CameraName": "front_right_custom", "Visible": true}
  ]
}
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <!-- Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved. SPDX-License-Identifier: BSD-3-Clause-Clear --> <modules> <module name="default"> <mixPorts> <!-- based on role, mixport flags are identified as either input flags or output flags--> <!-- start of source mixports--> <mixPort name="low_latency_out" role="source" flags="FAST PRIMARY" maxOpenCount="2" maxActiveCount="2"> <!-- #ifndef OPLUS_FEATURE_PLAYBACK_24BIT // [email protected], 2024/05/15, Modify for support playback with 24bits <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> #else /* OPLUS_FEATURE_PLAYBACK_24BIT */--> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> <!-- #endif OPLUS_FEATURE_PLAYBACK_24BIT --> </mixPort> <mixPort name="raw_out" role="source" flags="FAST RAW"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> </mixPort> <mixPort name="haptics_out" role="source"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO_HAPTIC_A" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="deep_buffer_out" role="source" flags="DEEP_BUFFER"> <!-- #ifndef OPLUS_FEATURE_PLAYBACK_24BIT // [email protected], 2024/05/15, Modify for support playback with 24bits <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" /> #else /* OPLUS_FEATURE_PLAYBACK_24BIT */ --> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> <!-- #endif OPLUS_FEATURE_PLAYBACK_24BIT --> </mixPort> <mixPort name="mmap_no_irq_out" role="source" flags="DIRECT MMAP_NOIRQ"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" /> </mixPort> <mixPort name="hifi_playback" role="source"> </mixPort> <!-- #ifndef OPLUS_FEATURE_SPATIALIZER_AUDIO // [email protected], 2024/05/15, disalbe aosp spatial output instead with oplus's <mixPort name="spatial_out" role="source" flags="SPATIALIZER"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> #else /* OPLUS_FEATURE_SPATIALIZER_AUDIO */ --> <mixPort name="spatializer" role="source" flags="SPATIALIZER"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> </mixPort> <!-- #endif OPLUS_FEATURE_SPATIALIZER_AUDIO --> <mixPort name="direct_pcm_out" role="source" flags="DIRECT" recommendedMuteDurationMs="160"> <!-- #ifndef OPLUS_ARCH_EXTENDS --> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="FIXED_Q_8_24" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_32_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="FLOAT_32_BIT" /> <!-- #else /* OPLUS_ARCH_EXTENDS */ <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="FIXED_Q_8_24" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="INT_32_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="PCM" pcmType="FLOAT_32_BIT" /> --> </mixPort> <mixPort name="compress_offload_out" role="source" flags="DIRECT COMPRESS_OFFLOAD NON_BLOCKING GAPLESS_OFFLOAD"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mpeg" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/flac" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/alac" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/x-ape" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.02" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.05" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/mp4a.40.29" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/vorbis" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_QUAD LAYOUT_PENTA LAYOUT_5POINT1 LAYOUT_6POINT1 LAYOUT_7POINT1" formatType="NON_PCM" encoding="audio/x-ms-wma.pro" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.02" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.05" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 64000 88200 96000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/aac-adts.29" /> <profile samplingRates="8000 12000 16000 24000 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO" formatType="NON_PCM" encoding="audio/opus" /> </mixPort> <mixPort name="voice_tx" role="source"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="voip_playback" role="source" flags="VOIP_RX"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="in_call_music" role="source" flags="INCALL_MUSIC"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <!-- end of source mixports--> <!-- start of sink mixports--> <mixPort name="primary_in" role="sink" maxOpenCount="2" maxActiveCount="2"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <!-- #ifndef OPLUS_BUG_STABILITY // [email protected], 2024/05/15, Remove compress-input avoid camera record stop fail <mixPort name="compress_in" role="sink" flags="DIRECT"> <profile name="compress-capture-AAC-LC" samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" /> <profile name="compress-capture-AAC-HE-V1" samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/aac-adts.05" /> <profile name="compress-capture-AAC-HE-V2" samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO" formatType="NON_PCM" encoding="audio/aac-adts.29" /> </mixPort> #endif OPLUS_BUG_STABILITY --> <mixPort name="fast_input" role="sink" flags="FAST"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_2POINT0POINT2 LAYOUT_3POINT0POINT2 LAYOUT_5POINT1" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="fast_raw_input" role="sink" flags="FAST RAW"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_2POINT1 LAYOUT_2POINT0POINT2 LAYOUT_3POINT0POINT2 LAYOUT_5POINT1" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="voip_record" role="sink" flags="VOIP_TX"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="usb_surround_sound_input" role="sink"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK LAYOUT_5POINT1" channelMasks="INDEX_MASK_3 INDEX_MASK_4 INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="INT_32_BIT" /> <!-- #ifndef OPLUS_BUG_STABILITY // [email protected], 2024/05/15, case:2588000, CR-3089619-gerrit-3904059-ps-3.patch fix USB Audio Peripheral Record Test issue <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_5POINT1" channelMasks="INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="FLOAT_32_BIT" /> #else /* OPLUS_BUG_STABILITY */ --> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000 88200 96000 176400 192000" channelLayouts="LAYOUT_STEREO LAYOUT_5POINT1" channelMasks="INDEX_MASK_2 INDEX_MASK_6 INDEX_MASK_8" formatType="PCM" pcmType="FLOAT_32_BIT" /> <!-- #endif OPLUS_BUG_STABILITY --> </mixPort> <!-- #ifdef OPLUS_FEATURE_AEC_RECORD --> <!-- [email protected], 2024/05/15, Add for 4ch aec --> <mixPort name="record_4ch_aec" role="sink"> <profile samplingRates="16000" channelLayouts="LAYOUT_2POINT0POINT2" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <!-- #endif OPLUS_FEATURE_AEC_RECORD --> <!-- #ifdef OPLUS_FEATURE_OCAR_AUDIO --> <!-- [email protected], 2024/05/15, Modify for support call record in ocar mode --> <!-- <mixPort name="voice_rx" role="sink"> --> <mixPort name="voice_rx" role="sink" maxOpenCount="2" maxActiveCount="2"> <!-- #endif OPLUS_FEATURE_OCAR_AUDIO --> <profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <mixPort name="mmap_no_irq_in" role="sink" maxOpenCount="1" maxActiveCount="1" flags="MMAP_NOIRQ"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_16_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" channelMasks="INDEX_MASK_3" formatType="PCM" pcmType="FIXED_Q_8_24" /> </mixPort> <mixPort name="hotword_input" role="sink" flags="HW_HOTWORD"> <profile samplingRates="16000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </mixPort> <!-- end of sink mixports--> </mixPorts> <devicePorts> <!-- start of sink DEVICE PORT --> <devicePort tagName="earpiece" role="sink" attached="true" deviceType="OUT_SPEAKER_EARPIECE"> <profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="speaker" role="sink" attached="true" defaultDevice="true" deviceType="OUT_SPEAKER"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="wired_headset" deviceType="OUT_HEADSET" role="sink" connection="analog"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="wired_headphones" deviceType="OUT_HEADPHONE" role="sink" connection="analog"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="line_out" deviceType="OUT_DEVICE" role="sink" connection="analog"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_sco_out" deviceType="OUT_DEVICE" connection="bt-sco" role="sink"> <profile samplingRates="8000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_sco_headset" deviceType="OUT_HEADSET" connection="bt-sco" role="sink"> <profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_sco_car_kit" deviceType="OUT_CARKIT" connection="bt-sco" role="sink"> <profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="telephony_tx" deviceType="OUT_TELEPHONY_TX" role="sink" attached="true"> <profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- Todo check the sanity of below later w.r.t channel layouts --> <devicePort tagName="hdmi_out" deviceType="OUT_DEVICE" connection="hdmi" role="sink"> <profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- Todo check the sanity of below later w.r.t channel layouts --> <devicePort tagName="proxy_out" deviceType="OUT_AFE_PROXY" connection="virtual" role="sink"> <profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- OUT_DEVICE(ip-v4): Usage are not as per android expectation. Due to minimal use of device in regular use case, it is getting used for proxy device in playback usecase --> <devicePort tagName="ip_out" deviceType="OUT_DEVICE" connection="ip-v4" role="sink"> <profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- #ifdef OPLUS_BUG_STABILITY --> <!-- [email protected], 2024/08/08, Modify for link to window --> <!-- devicePort tagName="fm_out" deviceType="OUT_FM" role="sink" attached="true"> <profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort --> <!-- #endif OPLUS_BUG_STABILITY --> <devicePort tagName="bt_a2dp_out" deviceType="OUT_DEVICE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_a2dp_headphones" deviceType="OUT_HEADPHONE" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_a2dp_speaker" deviceType="OUT_SPEAKER" connection="bt-a2dp" role="sink" encodings="audio/x-sbc audio/mp4a.40 audio/aptx audio/vnd.qcom.aptx.hd audio/vnd.sony.ldac audio/x-celt audio/vnd.qcom.aptx.adaptive audio/vnd.qcom.aptx.twsp audio/x-lc3"> <profile samplingRates="48000" channelLayouts="LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_ble_headset" deviceType="OUT_HEADSET" connection="bt-le" role="sink" encodings="audio/x-lc3 audio/vnd.qcom.aptx.adaptive.r3 audio/vnd.qcom.aptx.adaptive.r4"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_ble_speaker" deviceType="OUT_SPEAKER" connection="bt-le" role="sink" encodings="audio/x-lc3 audio/vnd.qcom.aptx.adaptive.r3 audio/vnd.qcom.aptx.adaptive.r4"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_ble_broadcast" deviceType="OUT_BROADCAST" connection="bt-le" role="sink" encodings="audio/x-lc3"> <profile samplingRates="8000 16000 32000 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="usb_device_out" deviceType="OUT_DEVICE" connection="usb" role="sink"> <profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="usb_headset" deviceType="OUT_HEADSET" connection="usb" role="sink"> <profile samplingRates="44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- end of sink DEVICE PORT --> <!-- start of source DEVICE PORT --> <devicePort tagName="built_in_mic" deviceType="IN_MICROPHONE" role="source" attached="true" defaultDevice="true" address="bottom"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_24_BIT" /> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" /> <!-- To support compress offload capture such that client can query --> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/mp4a.40.02" /> <profile samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO LAYOUT_MONO LAYOUT_FRONT_BACK" formatType="NON_PCM" encoding="audio/aac-adts.05" /> <profile samplingRates="24000 32000 44100 48000" channelLayouts="LAYOUT_STEREO" formatType="NON_PCM" encoding="audio/aac-adts.29" /> </devicePort> <devicePort tagName="built_in_back_mic" deviceType="IN_MICROPHONE_BACK" role="source" attached="true" address="back"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- #ifdef OPLUS_BUG_STABILITY --> <!-- [email protected], 2024/08/08, Modify for link to window --> <!-- <devicePort tagName="fm_tuner_mic" deviceType="IN_FM_TUNER" role="source" attached="true"> <profile samplingRates="48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> --> <!-- #endif OPLUS_BUG_STABILITY --> <devicePort tagName="wired_headset_mic" deviceType="IN_HEADSET" connection="analog" role="source"> <profile samplingRates="8000 11025 12000 16000 22050 24000 32000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO LAYOUT_FRONT_BACK" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="proxy_input_device" deviceType="IN_AFE_PROXY" connection="virtual" role="source"> <profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- IN_DEVICE(ip-v4): Usage are not as per android expectation. Due to minimal use of device in regular use case, it is getting used for proxy device in record usecase --> <devicePort tagName="ip_input_device" deviceType="IN_DEVICE" connection="ip-v4" role="source"> <profile samplingRates="8000 11025 16000 22050 32000 44100 48000 64000 88200 96000 128000 176400 192000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_sco_headset_mic" deviceType="IN_HEADSET" connection="bt-sco" role="source"> <profile samplingRates="8000 16000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="telephony_rx" deviceType="IN_TELEPHONY_RX" role="source" attached="true"> <profile samplingRates="8000 16000 48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="usb_mic" deviceType="IN_DEVICE" connection="usb" role="source" > </devicePort> <devicePort tagName="usb_headset_mic" deviceType="IN_HEADSET" connection="usb" role="source" > </devicePort> <devicePort tagName="bt_a2dp_mic" deviceType="IN_DEVICE" connection="bt-a2dp" role="source" encodings="audio/x-lc3"> <profile samplingRates="44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="bt_le_mic" deviceType="IN_HEADSET" connection="bt-le" role="source" encodings="audio/x-lc3"> <profile samplingRates="8000 16000 24000 44100 48000" channelLayouts="LAYOUT_MONO LAYOUT_STEREO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <devicePort tagName="echo_reference_mic" deviceType="IN_ECHO_REFERENCE" role="source" attached="true"> <profile samplingRates="48000" channelLayouts="LAYOUT_MONO" formatType="PCM" pcmType="INT_16_BIT" /> </devicePort> <!-- end of source DEVICE PORT --> </devicePorts> <routes> <route type="mix" sink="earpiece" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx" /> <route type="mix" sink="speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx,spatializer" /> <route type="mix" sink="wired_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,telephony_rx,spatializer" /> <route type="mix" sink="wired_headphones" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,mmap_no_irq_out,haptics_out,telephony_rx,spatializer" /> <route type="mix" sink="usb_device_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,hifi_playback,telephony_rx,spatializer" /> <route type="mix" sink="usb_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,hifi_playback,telephony_rx,spatializer" /> <route type="mix" sink="bt_sco_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" /> <route type="mix" sink="bt_sco_headset" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" /> <route type="mix" sink="bt_sco_car_kit" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,haptics_out,telephony_rx" /> <route type="mix" sink="bt_a2dp_out" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,spatializer" /> <route type="mix" sink="bt_a2dp_headphones" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out,spatializer" /> <route type="mix" sink="bt_a2dp_speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_playback,raw_out,mmap_no_irq_out,haptics_out" /> <route type="mix" sink="bt_ble_speaker" sources="low_latency_out,deep_buffer_out,direct_pcm_out,compress_offload_out,voip_ 以上文件路径:/odm/etc/audio/audio_module_config_primary.xml 一加13 Coloros15,安卓版本15,修改该文件,绕过安卓音频SRC实现系统全局自适应采样率(Dynamic sampling rates)、自适应位深(Bit_perfect)(保持音频文件原始位深,16bit文件不升级位深)、禁用升频和重采样,关闭所有音频音效(effect)以及影响音频质量无损输出的一切音频处理,最大程度上抑制并降低音频抖动(jitter)(最大化优化时钟管理和同步)、最大程度降低音频失真和噪声以及电源纹波和噪声,以输出输入最干净无污染最高质量的HIFI无损原始音频信号直出,输出修改过的完整文件
08-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值