V3s + RTL8723DS tina 执行 bt_test 蓝牙sink程序,发现本机声卡不出声,并且报以下错误 Couldn't open PCM:default
-
root@TinaLinux:/# bt_test root@TinaLinux:/# 2499.726214: [bt_manager_init:212]: enable default profile from bt config. 2499.726348: [bt_manager_enable:400]: bt manager version:Version:3.0.1.202012201630,builed time:Dec 29 2020-02:46:30 2499.726369: [bt_test_status_cb:71]: bt is turnning on. Bluetooth init has been completed!! 2500.158192: [bt_profile_global_init:356]: start bluealsa :1 times 2500.172669: [bt_test_dev_add_cb:104]: address:74:15:75:F3:25:92,name:memory,class:5898764,icon:phone,address type:public,rssi:0 2500.715659: [bt_test_adapter_power_state_cb:41]: Turn on bt successfully 2501.160441: [bt_test_status_cb:61]: BT is ON addr:74:15:75:F3:25:92,name:memory,state:CONNECTED AGENT: Authorize Service (74:15:75:F3:25:92, 0000110d-0000-1000-8000-00805f9b34fb) 2529.003802: [bt_test_a2dp_sink_connection_state_cb:261]: A2DP sink connected with device: 74:15:75:F3:25:92 2529.036032: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 2529.036082: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 2531.658987: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 2531.659037: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 2531.929696: [bt_a2dp_sink_start:523]: a2dp sink start transmit. ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device 2532.426324: [aw_pcm_open:399]: --->Couldn't open PCM:default 2532.426348: [_a2dp_sink_pcm_write:464]: a2dp sink open pcm error:Operation not permitted ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device 2532.427004: [aw_pcm_open:399]: --->Couldn't open PCM:default 2532.427024: [_a2dp_sink_pcm_write:464]: a2dp sink open pcm error:Operation not permitted ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device 2532.427598: [aw_pcm_open:399]: --->Couldn't open PCM:default 2532.427618: [_a2dp_sink_pcm_write:464]: a2dp sink open pcm error:Operation not permitted ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device 2532.428142: [aw_pcm_open:399]: --->Couldn't open PCM:default 2532.428161: [_a2dp_sink_pcm_write:464]: a2dp sink open pcm error:Operation not permitted ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device 2532.428789: [aw_pcm_open:399]: --->Couldn't open PCM:default 2532.428809: [_a2dp_sink_pcm_write:464]: a2dp sink open pcm error:Operation not permitted ALSA lib bluealsa-pcm.c:678:(_snd_pcm_bluealsa_open) Couldn't get BlueALSA transport: No such device
-
RTL8723DS的PCM通道接到I2S上了吗
-
@yuzukitsuru
soc自带的内置声卡,tinyplay正常,看日志我怀疑alsa的配置有问题。 -
试了一下 D1 哪吒开发板正常
板上执行bt_test,D1作为蓝牙喇叭(a2dp sink):
root@TinaLinux:/# bt_test root@TinaLinux:/# 58.869509: BTMG[bt_manager_set_enable_default:513]: enable default profile from bt config. 58.869777: BTMG[bt_manager_enable:407]: bt manager version:Version:3.0.1.202110291544,builed time:Oct 29 2021-09:42:35 58.869823: BTMG[bt_test_status_cb:82]: bt is turnning on. hcidump_xr start /etc/bluetooth/bt_init.sh: line 92: hcidump_xr: not found [ 57.306631] sunxi-rfkill soc@3000000:rfkill@0: block state already is 1 [ 57.334566] sunxi-rfkill soc@3000000:rfkill@0: set block: 0 [ 57.351853] sunxi-rfkill soc@3000000:rfkill@0: bt power on success [ 57.384869] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1 [ 57.393554] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device [ 57.400848] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode
手机连接蓝牙a2dp sink并播放音乐到D1:
root@TinaLinux:/# root@TinaLinux:/# root@TinaLinux:/# [ 60.836469] random: crng init done [ 60.840265] random: 6 urandom warning(s) missed due to ratelimiting 64.110834: BTMG[bt_profile_global_init:355]: start bluealsa :1 times 64.702252: BTMG[bt_test_adapter_power_state_cb:47]: Turn on bt successfully 65.114472: BTMG[bt_test_status_cb:67]: BT is ON AGENT: Authorize Service (74:15:75:F3:25:92, 0000111E-0000-1000-8000-00805F9B34FB) 89.698483: [rfcomm_cind_resp_cb:140]: indicator strings: ("call",(0,1)),("callsetup",(0-3)),("service",(0-1)),("signal",(0-5)),("roam",(0,1)),("battchg",(0-5)),("callheld",(0-2)) 89.698568: BTMG[bt_test_hfp_event_cb:423]: event HFP_CIND 89.802776: [rfcomm_slc_resp_cb:123]: ++ 89.802854: BTMG[bt_test_hfp_event_cb:423]: event HFP_CONNECT 90.088349: BTMG[bt_test_hfp_event_cb:423]: event HFP_CIEV 90.089534: BTMG[bt_test_hfp_event_cb:423]: event HFP_CIEV AGENT: Authorize Service (74:15:75:F3:25:92, 0000110d-0000-1000-8000-00805f9b34fb) 92.772168: BTMG[bt_test_a2dp_sink_connection_state_cb:272]: A2DP sink connected with device: 74:15:75:F3:25:92 92.806233: BTMG[bt_test_avrcp_play_state_cb:326]: BT palying music paused with device: 74:15:75:F3:25:92 92.806317: BTMG[bt_test_a2dp_sink_audio_state_cb:281]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 104.896559: BTMG[bt_test_avrcp_play_state_cb:324]: BT palying music playing with device: 74:15:75:F3:25:92 104.896645: BTMG[bt_test_a2dp_sink_audio_state_cb:285]: A2DP sink audio started with device: 74:15:75:F3:25:92 105.123050: [bt_a2dp_sink_start:550]: a2dp sink start transmit. [ 103.869544] [SNDCODEC][sunxi_card_hw_params][620]:stream_flag: 0 108.333289: BTMG[bt_test_avrcp_play_state_cb:326]: BT palying music paused with device: 74:15:75:F3:25:92 108.333374: BTMG[bt_test_a2dp_sink_audio_state_cb:281]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 111.935371: [bt_a2dp_sink_stop:576]: a2dp sink stop transmit. [ 124.761718] [SNDCODEC][sunxi_check_hs_detect_status][191]:plugin --> switch:3 129.032725: BTMG[bt_test_avrcp_play_state_cb:324]: BT palying music playing with device: 74:15:75:F3:25:92 129.032816: BTMG[bt_test_a2dp_sink_audio_state_cb:285]: A2DP sink audio started with device: 74:15:75:F3:25:92 129.265234: [bt_a2dp_sink_start:550]: a2dp sink start transmit. 129.765237: [aw_pcm_write:478]: An underrun has occurred root@TinaLinux:/# root@TinaLinux:/#
root@TinaLinux:/# ps PID USER VSZ STAT COMMAND 1 root 2092 S /sbin/procd 2 root 0 SW [kthreadd] 3 root 0 IW< [rcu_gp] 4 root 0 IW< [rcu_par_gp] 5 root 0 IW [kworker/0:0-mm_] 6 root 0 IW< [kworker/0:0H-kb] 7 root 0 IW [kworker/u2:0-fl] 8 root 0 IW< [mm_percpu_wq] 9 root 0 SW [ksoftirqd/0] 10 root 0 IW [rcu_preempt] 11 root 0 SW [kdevtmpfs] 12 root 0 SW [rcu_tasks_kthre] 13 root 0 IW [kworker/0:1-eve] 14 root 0 SW [oom_reaper] 15 root 0 IW< [writeback] 16 root 0 SW [kcompactd0] 46 root 0 IW< [kblockd] 47 root 0 SW [ion_system_heap] 48 root 0 SW [watchdogd] 49 root 0 IW< [cfg80211] 50 root 0 SW [kswapd0] 52 root 0 SW [vsync proc 0] 53 root 0 SW [vsync proc 1] 54 root 0 IW [kworker/u2:1-ev] 57 root 0 IW< [uas] 58 root 0 SW [irq/56-mmc0] 59 root 0 SW [irq/178-4020000] 60 root 0 SW [irq/57-mmc1] 61 root 0 IW [kworker/0:2-rcu] 62 root 0 IW< [mmc_complete] 63 root 0 IW [kworker/0:3-eve] 64 root 0 IW< [kworker/0:1H-kb] 65 root 0 IW< [rpmsg_hifi0] 66 root 0 IW< [ipv6_addrconf] 67 root 0 SW< [krfcommd] 68 root 0 SW [hdmi proc] 69 root 0 SW [cec thread] 70 root 0 SW [irq/5-2-0038] 71 root 0 DW [usb-hardware-sc] 76 root 0 IW< [kworker/0:2H] 121 root 1660 S /sbin/ubusd 133 root 2684 S /bin/ash --login 134 root 1624 S /sbin/askfirst /bin/ash --login 240 root 289m S /bin/adbd -D 242 root 2096 S /usr/sbin/dbus-daemon --system 243 root 0 IW< [goodix_wq] 333 root 0 SW [xradio_etf] 334 root 0 IW< [xradio_wq] 335 root 0 IW< [xradio_spare_wq] 336 root 0 SW [xradio_proc] 343 root 0 SW [xradio_bh] 353 root 0 IW< [goodix_wq] 486 root 1760 S /sbin/netifd 500 root 9848 S /usr/sbin/MtpDaemon -D 527 root 1496 S /sbin/swupdate-progress -w 554 root 2708 S< /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p nt 563 root 85548 S tt 590 root 0 IW [kworker/u2:2-ev] 600 root 606m S bt_test 613 root 1628 S hciattach -n ttyS1 xradio 648 root 0 IW< [kworker/u3:0-hc] 649 root 0 IW< [kworker/u3:1-hc] 650 root 0 IW< [kworker/u3:2-hc] 662 root 3668 S /usr/bin/bluetoothd -n 674 root 309m S bluealsa -p a2dp-sink -p hfp-hf 703 root 2684 R ps root@TinaLinux:/#
看一下 *** /etc/asound.conf ***
# D1-H # audiocodec ctl.!default { type hw card audiocodec } pcm.!default { type asym playback.pcm "Playback" capture.pcm "CaptureMic" } pcm.PlaybackEQ { type plug slave.pcm { type awequal slave.pcm "Playback" config_file "/etc/awequal.conf" tuning_support false verbose true } slave.rate 48000 slave.format S16_LE slave.channels 2 } pcm.Playback { type plug slave.pcm { type softvol slave.pcm PlaybackDmix control { name "Soft Volume Master" card audiocodec } min_dB -51.0 max_dB 0.0 resolution 256 } slave.channels 1 slave.rate 48000 slave.format S16_LE } pcm.PlaybackDmix { type plug slave.pcm { type dmix ipc_key 1111 ipc_perm 0666 slave { pcm "hw:audiocodec" format S16_LE rate 48000 channels 2 period_size 960 periods 4 } } } pcm.PlaybackHDMI { type plug slave.pcm { type dmix ipc_key 1111 ipc_perm 0666 slave { pcm "hw:sndhdmi" format S16_LE rate 48000 channels 2 period_size 960 periods 4 } } } pcm.Capture { type hw card audiocodec } #AEC: ADC1, ADC2 pcm.CaptureAec { type plug slave.pcm { type dsnoop ipc_key 2222 ipc_perm 0666 slave { pcm "hw:audiocodec" rate 16000 channels 3 period_size 960 periods 4 } } ttable.0.0 1 ttable.1.1 1 } #headset MIC: ADC3 pcm.CaptureMic { type plug slave.pcm { type dsnoop ipc_key 2222 ipc_perm 0666 slave { pcm "hw:audiocodec" rate 16000 channels 3 period_size 960 periods 4 } } ttable.0.2 1 } pcm.CaptureDsnoop { type plug slave.pcm { type dsnoop ipc_key 2222 ipc_perm 0666 slave { pcm "hw:audiocodec" rate 16000 channels 3 period_size 960 periods 4 } } } pcm.CaptureDmic { type plug slave.pcm { type dsnoop ipc_key 2223 ipc_perm 0666 slave { pcm "hw:snddmic" rate 16000 channels 6 period_size 960 periods 4 } } } pcm.CaptureMulti1 { type plug slave.pcm { type multi slaves { a { pcm "CaptureDmic" channels 6 } b { pcm "CaptureDsnoop" channels 3 } } bindings { 0 { slave a channel 0 } 1 { slave a channel 1 } 2 { slave a channel 2 } 3 { slave a channel 3 } 4 { slave a channel 4 } 5 { slave a channel 5 } 6 { slave b channel 0 } 7 { slave b channel 1 } 8 { slave b channel 2 } } } ttable.0.0 1 ttable.1.1 1 ttable.2.2 1 ttable.3.3 1 ttable.4.4 1 ttable.5.5 1 ttable.6.6 1 ttable.7.7 1 ttable.8.8 1 }
-
网上抄来一个 /etc/asound.conf 搞定:
pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }
把V3s RTL8723D 当蓝牙喇叭成功:
root@TinaLinux:/# 1254.646041: [bt_manager_init:212]: enable default profile from bt config. 1254.646179: [bt_manager_enable:400]: bt manager version:Version:3.0.1.202012201630,builed time:Dec 29 2020-02:46:30 1254.646199: [bt_test_status_cb:71]: bt is turnning on. [ 1040.680371] sunxi-bt soc@03000000:bt@0: block state already is 1 [ 1041.697694] sunxi-bt soc@03000000:bt@0: set block: 0 1259.223757: [bt_profile_global_init:356]: start bluealsa :1 times 1259.754977: [bt_test_adapter_power_state_cb:41]: Turn on bt successfully 1260.226341: [bt_test_status_cb:61]: BT is ON 1276.712300: [bt_test_dev_add_cb:104]: address:74:15:75:F3:25:92,name:memory,class:5898764,icon:phone,address type:public,rssi:0 AGENT: Authorize Service (74:15:75:F3:25:92, 0000110d-0000-1000-8000-00805f9b34fb) 1283.160852: [bt_test_a2dp_sink_connection_state_cb:261]: A2DP sink connected with device: 74:15:75:F3:25:92 1283.197730: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1283.197786: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1284.845902: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 1284.845961: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 1285.086664: [bt_a2dp_sink_start:523]: a2dp sink start transmit. 1285.656253: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1285.713279: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1285.766153: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1285.844472: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1285.892388: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1285.953642: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1286.035757: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1286.111549: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1286.173635: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1286.253223: [comsumer_thread:623]: fifo is empty:a2sin(0,10) 1286.301144: [comsumer_thread:623]: fifo is empty:a2sin(0,11) 1286.359971: [comsumer_thread:623]: fifo is empty:a2sin(0,12) 1286.419953: [comsumer_thread:623]: fifo is empty:a2sin(0,13) 1286.495765: [comsumer_thread:623]: fifo is empty:a2sin(0,14) 1286.555757: [comsumer_thread:623]: fifo is empty:a2sin(0,15) 1286.603660: [comsumer_thread:623]: fifo is empty:a2sin(0,16) 1286.665002: [comsumer_thread:623]: fifo is empty:a2sin(0,17) 1286.665037: [comsumer_thread:629]: time_ms[1008] empty_count:17 1286.689455: [comsumer_thread:603]: trigger cache timeout:a2sin,17 1287.203218: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1287.256174: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1287.318641: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1287.398262: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1287.447394: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1287.526990: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1287.579885: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1287.660723: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1287.733244: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1287.733278: [comsumer_thread:629]: time_ms[1068] empty_count:9 1287.746930: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1288.227081: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1288.287419: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1288.348633: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1288.409879: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1288.488201: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1288.536106: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1288.617001: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1288.664951: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1288.725033: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1288.784952: [comsumer_thread:623]: fifo is empty:a2sin(0,10) 1288.784986: [comsumer_thread:629]: time_ms[1051] empty_count:10 1288.811884: [comsumer_thread:603]: trigger cache timeout:a2sin,10 1289.330775: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1289.387371: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1289.446093: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1289.523133: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1289.568587: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1289.612615: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1289.612661: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1289.645855: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1289.696187: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1289.780759: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1289.829858: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1289.829898: [comsumer_thread:629]: time_ms[1044] empty_count:9 1289.856901: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1290.337631: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1290.416520: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1290.482814: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1290.544094: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1290.605250: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1290.670228: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1290.731476: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1290.792856: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1290.853993: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1290.854030: [comsumer_thread:629]: time_ms[1024] empty_count:9 1290.865197: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1291.152339: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 1291.152387: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 1291.379649: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1291.446926: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1291.494895: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1291.573089: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1291.624874: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1291.686024: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1291.756920: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1291.828077: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1291.896786: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1291.896822: [comsumer_thread:629]: time_ms[1042] empty_count:9 1291.910662: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1292.488120: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1292.544883: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1292.621918: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1292.667233: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1292.725985: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1292.801900: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1292.847247: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1292.905978: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1292.906013: [comsumer_thread:629]: time_ms[1009] empty_count:8 1292.931757: [comsumer_thread:603]: trigger cache timeout:a2sin,8 1293.483365: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1293.559337: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1293.639311: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1293.711864: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1293.785523: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1293.856797: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1293.934280: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1293.934317: [comsumer_thread:629]: time_ms[1028] empty_count:7 1293.954296: [comsumer_thread:603]: trigger cache timeout:a2sin,7 1294.254936: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1294.254994: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1294.433923: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1294.498502: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1294.577289: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1294.638832: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1294.701367: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1294.766449: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1294.827614: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1294.888863: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1294.955101: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1294.955142: [comsumer_thread:629]: time_ms[1020] empty_count:9 1294.965079: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1295.444981: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1295.520122: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1295.580078: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1295.638825: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1295.700094: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1295.780060: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1295.840061: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1295.912631: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1295.996331: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1295.996365: [comsumer_thread:629]: time_ms[1041] empty_count:9 1296.005049: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1296.099593: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 1296.099641: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 1296.487764: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1296.549734: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1296.627997: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1296.680905: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1296.759232: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1296.807124: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1296.868367: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1296.946720: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1296.997115: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1296.997151: [comsumer_thread:629]: time_ms[1000] empty_count:9 1297.031639: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1297.541671: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1297.615468: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1297.686651: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1297.735838: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1297.797093: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1297.875399: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1297.923339: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1297.984618: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1298.045846: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1298.045887: [comsumer_thread:629]: time_ms[1048] empty_count:9 1298.074099: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1298.573532: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1298.644125: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1298.689552: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1298.748329: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1298.807091: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1298.865832: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1298.924592: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1298.983323: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1299.043288: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1299.102041: [comsumer_thread:623]: fifo is empty:a2sin(0,10) 1299.102081: [comsumer_thread:629]: time_ms[1056] empty_count:10 1299.126632: [comsumer_thread:603]: trigger cache timeout:a2sin,10 1299.667980: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1299.724964: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1299.782459: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1299.839954: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1299.883252: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1299.940792: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1299.998275: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1300.059594: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1300.118270: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1300.118306: [comsumer_thread:629]: time_ms[1016] empty_count:9 1300.144051: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1300.649364: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1300.700776: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1300.781616: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1300.829478: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1300.888259: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1300.948246: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1301.024091: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1301.073228: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1301.135726: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1301.135762: [comsumer_thread:629]: time_ms[1017] empty_count:9 1301.160409: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1301.701207: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1301.751972: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1301.811975: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1301.871969: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1301.930750: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1301.974871: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1301.974919: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1301.990809: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1302.069247: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1302.115773: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1302.618809: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1302.618863: [comsumer_thread:629]: time_ms[1483] empty_count:9 1302.642359: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1302.851466: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 1302.851517: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 1303.120182: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1303.181995: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1303.259025: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1303.305690: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1303.364392: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1303.423168: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1303.481894: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1303.540716: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1303.600668: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1303.659398: [comsumer_thread:623]: fifo is empty:a2sin(0,10) 1303.659440: [comsumer_thread:629]: time_ms[1040] empty_count:10 1303.683983: [comsumer_thread:603]: trigger cache timeout:a2sin,10 1304.163816: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1304.163865: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1304.191536: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1304.240912: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1304.300767: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1304.375250: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1304.433559: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1304.491061: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1304.548562: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1304.622330: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1304.704824: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1304.704861: [comsumer_thread:629]: time_ms[1045] empty_count:9 1304.727293: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1305.197973: [bt_test_avrcp_play_state_cb:313]: BT palying music playing with device: 74:15:75:F3:25:92 1305.198023: [bt_test_a2dp_sink_audio_state_cb:274]: A2DP sink audio started with device: 74:15:75:F3:25:92 1305.213913: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1305.292536: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1305.359859: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1305.422301: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1305.494173: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1305.558934: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1305.625218: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1305.675651: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1305.755192: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1305.755230: [comsumer_thread:629]: time_ms[1050] empty_count:9 1305.768953: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1306.292658: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1306.346830: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1306.422637: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1306.470601: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1306.555192: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1306.627670: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1306.698913: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1306.771419: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1306.771454: [comsumer_thread:629]: time_ms[1016] empty_count:8 1306.793908: [comsumer_thread:603]: trigger cache timeout:a2sin,8 1307.267699: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1307.355168: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1307.427615: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1307.503876: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1307.577626: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1307.650169: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1307.705599: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1307.766809: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1307.848830: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1307.848867: [comsumer_thread:629]: time_ms[1077] empty_count:9 1307.862635: [comsumer_thread:603]: trigger cache timeout:a2sin,9 1308.389815: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1308.503041: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1308.587707: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1308.633021: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1308.691755: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1308.749288: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1308.809260: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1308.866764: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1308.866799: [comsumer_thread:629]: time_ms[1017] empty_count:8 1308.890066: [comsumer_thread:603]: trigger cache timeout:a2sin,8 1309.379073: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1309.435535: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1309.525110: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1309.608812: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1309.685073: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1309.771347: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1309.855068: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1309.900463: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1309.900500: [comsumer_thread:629]: time_ms[1033] empty_count:8 1309.923812: [comsumer_thread:603]: trigger cache timeout:a2sin,8 1309.983926: [bt_test_avrcp_play_state_cb:315]: BT palying music paused with device: 74:15:75:F3:25:92 1309.983972: [bt_test_a2dp_sink_audio_state_cb:270]: A2DP sink audio suspended with device: 74:15:75:F3:25:92 1310.439194: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1310.509658: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1310.572133: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1310.633390: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1311.212146: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1311.212194: [comsumer_thread:629]: time_ms[1311] empty_count:5 1311.289617: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1311.360873: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1311.435878: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1311.518380: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1311.588376: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1311.775494: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1311.827103: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1311.908346: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1311.969609: [comsumer_thread:623]: fifo is empty:a2sin(0,9) 1312.034597: [comsumer_thread:623]: fifo is empty:a2sin(0,10) 1312.095846: [comsumer_thread:623]: fifo is empty:a2sin(0,11) 1312.157099: [comsumer_thread:623]: fifo is empty:a2sin(0,12) 1312.222086: [comsumer_thread:623]: fifo is empty:a2sin(0,13) 1312.222123: [comsumer_thread:629]: time_ms[1009] empty_count:13 1312.232067: [comsumer_thread:603]: trigger cache timeout:a2sin,13 1312.714332: [comsumer_thread:623]: fifo is empty:a2sin(0,1) 1312.785856: [comsumer_thread:623]: fifo is empty:a2sin(0,2) 1312.844570: [comsumer_thread:623]: fifo is empty:a2sin(0,3) 1312.905829: [comsumer_thread:623]: fifo is empty:a2sin(0,4) 1312.967059: [comsumer_thread:623]: fifo is empty:a2sin(0,5) 1313.029580: [comsumer_thread:623]: fifo is empty:a2sin(0,6) 1313.095810: [comsumer_thread:623]: fifo is empty:a2sin(0,7) 1313.157072: [comsumer_thread:623]: fifo is empty:a2sin(0,8) 1313.631313: [bt_a2dp_sink_stop:549]: a2dp sink stop transmit.
-
阿这,我以为是V3s当mp3播放给蓝牙音箱,还奇怪RTL8723也可以pcm
-
@yuzukitsuru
a2dp source 理论上也可以,晚些我试一试。 -
学习 alsa 配置: alsa 配置文件asound.conf
1.介绍
笔者在博客《Alsa调试下篇:应用篇》中一文中提到过asound.conf这个配置文件,在本文中,笔者将为你详细介绍这个文件。在《Alsa调试上篇:编译篇》中通过交叉编译我们可以得到alsa-lib的一些文件,在usr/local/shar/alsa/中有一个文件叫---alsa.confalsa官网解释:https://www.alsa-project.org/main/index.php/Asoundrc
这个文件在调用snd_pcm_open这个api函数时,会被加载同时解析。接下来看看官网给的解释:
Why asoundrc?
What is it good for, why do I want one? Neither the user-side .asoundrc nor the asound.conf configuration files are required for ALSA to work properly. Most applications will work without them. These files are used to allow extra functionality, such as routing and sample-rate conversion, through the alsa-lib layer. The actual reason that most applications will work without these user-side custom config files is that usually a default install of alsa-lib provides a sufficiently capable setup consisting of hierarchical config files (which always make use of the standard .asoundrc format syntax as well), which are specifically capable of supporting certain soundcard brands each. Thus, let's start with a quick overview of how ALSA config file framework evaluation is composed, globally: Global view of ALSA config file framework, executive summary The alsa-lib package (at least on Debian libasound2-data 1.0.27) provides the /usr/share/alsa/alsa.conf file as the main entry point. That file is responsible for including the full list of potential .asoundrc-format-type files on the system. It contains a reference to the ALSA "DATADIR" (Debian: /usr/share/alsa/). It continues by loading the DATADIR's cards/aliases.conf file: that one defines translation mappings from the kernel driver's sound card name (as listed at /proc/asound/cards, or aplay -Ll) to a "more detailed" description string. That "more detailed name" of a sound card then gets used to lookup a corresponding card-specific config file at DATADIR/cards/CARD.conf. And THAT card-specific file then attempts to provide a maximally elegant sound setup for its specific card brand, by compensating for various limitations of cards (e.g. use dmix to combat single-stream playback only, or stereo downmix to lessen a mono-output-only restriction). Finally (to support those cases where the standard setup of a soundcard is deficient/lacking, or custom plugin setup is desired), alsa.conf loads a system-global custom settings file /etc/asound.conf and a per-user custom settings file ~/.asoundrc. So, the objective should be to achieve having the common alsa-lib configuration file framework enhanced by default in the best possible manner for each specific soundcard brand, to avoid the need of creating manually customized config files in all standard cases. With this global overview done and cared for, let's have a look at the actual configuration format of alsa-lib files.
上面的主要说明点:
.asoundrc和asound.conf的引入提供用户定制化
/usr/share/alsa/alsa.conf为alsa-api的主要入口点2. asound.conf的作用
asound.conf允许对声卡或者设备进行更高级的控制,提供访问alsa-lib中的pcm插件方法,允许你做更多的复杂的控制,比如可以把声卡组合成一个或者多声卡访问多个I/O。
3.Default plugin
pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }
关键字default定义在alsa-lib中,将会访问hw:0,0声卡。
aplay -D default test.wav (== aplay -Dhw:0,0 test.wav)
4.Plugin
在alsa中,pcm插件扩展pcm设备的功能和特性。这些插件自动处理诸如命令设备,采样率转换,通道之间的采样复制,写入文件,为多个输入/输出(未采样同步)加入声卡/设备,使用多通道声卡/设备以及其他可能留给你的开发任务,详细的plugin和选项的完整列表:http://www.alsa-project.org/alsa-doc/alsa-lib/pcm_plugins.html4.1rate_convert
pcm.rate_convert { type rate slave { pcm rate 48000 } }
调用这个接口,比如之前44.1k的采样频率将会转换为48khz。
更复杂的用法:
type plug # Format adjusted PCM slave STR # Slave name (see pcm_slave) # or slave { # Slave definition pcm STR # Slave PCM name # or pcm { } # Slave PCM definition [format STR] # Slave format (default nearest) or "unchanged" [channels INT] # Slave channels (default nearest) or "unchanged" [rate INT] # Slave rate (default nearest) or "unchanged" } route_policy STR # route policy for automatic ttable generation # STR can be 'default', 'average', 'copy', 'duplicate' # average: result is average of input channels # copy: only first channels are copied to destination # duplicate: duplicate first set of channels # default: copy policy, except for mono capture - sum ttable { # Transfer table (bidimensional compound of # cchannels * schannels numbers) CCHANNEL { SCHANNEL REAL # route value (0.0 ... 1.0) } } pcm_slave.sl3 { pcm "hw:1,0" format S16_LE channels 1 rate 16000 } pcm.complex_convert { type plug slave sl3 } 4.2dmix pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:1,0" period_time 0 period_size 1024 buffer_size 4096 rate 44100 } bindings { 0 0 1 1 } } ctl.dmixer { type hw card 0 }
aplay -f cd -D default test.wav
4.3 dsnoop
pcm.mixin { type dsnoop ipc_key 5978293 # must be unique for all dmix plugins!!!! ipc_key_add_uid yes slave { pcm "hw:0,0" channels 2 period_size 1024 buffer_size 4096 rate 44100 periods 0 period_time 0 } bindings { 0 0 0 1 } } 4.4 jack plugin pcm.jackplug { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 1 alsa_pcm:capture_2 } }
aplay -Djackplug somefile arecord -Djackplug somefile
4.5Virtual multi channel devices
如果你想链接两个或者多个alsa设备,以便你有一个虚拟的多通道设备。# create a virtual four-channel device with two sound devices: # This is in fact two interleaved stereo streams in # different memory locations, so JACK will complain that it # cannot get mmap-based access. see below. pcm.multi { type multi; slaves.a.pcm "hw:0,0"; slaves.a.channels 2; slaves.b.pcm "hw:1,0"; slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; } # JACK will be unhappy if there is no mixer to talk to, so we set # this to card 0. This could be any device but 0 is easy. ctl.multi { type hw; card 0; } # This creates a 4 channel interleaved pcm stream based on # the multi device. JACK will work with this one. pcm.ttable { type route; slave.pcm "multi"; slave.channels 4; ttable.0.0 1; ttable.1.1 1; ttable.2.2 1; ttable.3.3 1; } # see above. ctl.ttable { type hw; card 0; }
arecord -f S16_LE -r 44100 -c 4 -D multi | aplay -f S16_LE -r 44100 -c 4 -D multi
-
@yuzukitsuru BT一般都引出了pcm,但是音频与PCM无关,走的A2DP
-
@sora1874 我这里用的xr829就是独立的pcm挂i2s上
-
@tigger 在 V3s + RTL8723DS tina 执行 bt_test 蓝牙sink程序,发现本机声卡不出声,并且报以下错误 Couldn't open PCM:default 中说:
网上抄来一个 /etc/asound.conf 搞定:
pcm.!default {
type hw
card 0
}ctl.!default {
type hw
card 0
}D1s也遇到同样的问题,参考这个搞定!
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号