ALSA找不到正确的输出?

问题描述

使用Gumstix Overo Ironstorm,以及由Gumstix Yocto,Warrior分支机构提供的Linux Kernel 5.0,我遇到了一些问题,导致ALSA寻找合适的输出设备。

一些历史记录: 我们最初的内核是在原始的Fido分支上构建的,但是随着所有升级的过时。 原始文件系统是使用流浪汉基于Emdebian系统构建的。

今天到了,试图将我们的软件升级到当前的系统版本,我遇到了一个问题。

ALSA驱动程序似乎已加载:

[5.176025] ALSA device list:
[5.179351]   #0: Loopback 1
[5.182525]   #1: overo

基于某些测试代码,输出似乎无法用于文件以外的任何文件。 例如,简单的ALSA代码:

    ao_info **driverList = ao_driver_info_list(&count);
    std::cerr<<"We have "<<count<<" drivers found"<<std::endl;  
    for( int x = 0; x < count; ++x){
      if(count <= 0){
        std::cerr<<__FUNCTION__<<" No drivers returned"<<std::endl;
        break;
      }
      if(driverList == 0){
         std::cerr<<__FUNCTION__<<" driver list is NULL"<<std::endl;
         break;
      }
      if(driverList[x] == 0){
         std::cerr<<__FUNCTION__<<" driver "<<x<<" is NULL"<< std::endl;
         continue;
     }
      std::cerr<<__FUNCTION__<<": "<<x<<" type: "<<driverList[x]->type<<std::endl;
      std::cerr<<__FUNCTION__<<": "<<x<<" name: "<<driverList[x]->name<<std::endl;
      std::cerr<<__FUNCTION__<<": "<<x<<" short_name: "<<driverList[x]->short_name<<std::endl;
      std::cerr<<__FUNCTION__<<": "<<x<<" comment: "<<driverList[x]->comment<<std::endl;
      std::cerr<<__FUNCTION__<<": "<<x<<" byte format: "<<driverList[x]->preferred_byte_format<<std::endl;
      std::cerr<<__FUNCTION__<<": "<<x<<" priority: "<<driverList[x]->priority<<std::endl;
      for(unsigned int y = 0; y  < driverList[x]->option_count; ++y)
          std::cerr<<__FUNCTION__<<": "<<x<<" option - "<<y<<": "<<driverList[x]->options[y]<<std::endl;
       std::cerr<<std::endl;
    }
    std::cerr<<"Done going through drivers"<<std::endl;

产生输出:

We have 4 drivers found
 audioType: 0 type: 1 
 audioType: 0 name: Null output 
 audioType: 0 short_name: null 
 audioType: 0 comment: This driver does nothing. 
 audioType: 0 byte format: 4 
 audioType: 0 priority: 0 
 audioType: 0 option - 0: debug 
 audioType: 0 option - 1: verbose 
 audioType: 0 option - 2: matrix 
 audioType: 0 option - 3: quiet 

 audioType: 1 type: 2
 audioType: 1 name: WAV file output
 audioType: 1 short_name: wav
 audioType: 1 comment: Sends output to a .wav file
 audioType: 1 byte format: 1
 audioType: 1 priority: 0
 audioType: 1 option - 0: matrix
 audioType: 1 option - 1: verbose
 audioType: 1 option - 2: quiet
 audioType: 1 option - 3: debug
 
audioType: 2 type: 2
 audioType: 2 name: RAW sample output
 audioType: 2 short_name: raw
 audioType: 2 comment: Writes raw audio samples to a file
 audioType: 2 byte format: 4
 audioType: 2 priority: 0
 audioType: 2 option - 0: byteorder
 audioType: 2 option - 1: matrix
 audioType: 2 option - 2: verbose
 audioType: 2 option - 3: quiet
 audioType: 2 option - 4: debug

 audioType: 3 type: 2
 audioType: 3 name: AU file output
 audioType: 3 short_name: au
 audioType: 3 comment: Sends output to a .au file
 audioType: 3 byte format: 2
 audioType: 3 priority: 0
 audioType: 3 option - 0: matrix
 audioType: 3 option - 1: verbose
 audioType: 3 option - 2: quiet
 audioType: 3 option - 3: debug

就驱动程序和编解码器而言,我启用了每个编解码器,并启用了(最明显的)ALSA驱动程序,并且可以在需要时提供defconfig。

一些额外的信息:

**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback],device 0: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: Loopback [Loopback],device 1: Loopback PCM [Loopback PCM]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 1: overo [overo],device 0: TWL4030 HiFi twl4030-hifi-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

/ proc / asound目录的目录列表如下所示: Loopback card0 card1 cards devices oss overo pcm seq timers version

如果我还有其他内容,请告诉我。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...