首页 > 其他分享 >全志T113芯片蓝牙音乐播放失败如何解决?

全志T113芯片蓝牙音乐播放失败如何解决?

时间:2023-01-12 10:34:16浏览次数:53  
标签:SBC 蓝牙 全志 sbc T113 primitives 播放 bluealsa

1.主题

T113-S3 蓝牙音乐播放失败问题

2.问题背景

硬件:T113 + XR829 软件:Linux(非Tina)

3.问题描述

3.1复现步骤

#驱动路径要根据固件实际路径
insmod /lib/modules/5.4.61±ab179/xradio_btlpm.ko

等驱动安装完再执行后续操作
echo 0 > /sys/class/rfkill/rfkill0/state
sleep 1
echo 1 > /sys/class/rfkill/rfkill0/state
sleep 1

hciattach -n ttyS1 xradio &

hciconfig hci0 up
hciconfig hci0 piscan

#启动蓝牙协议栈
bluetoothd -n &

#设定本机为播放源
bluealsa -p a2dp-source &

#进入蓝牙控制终端
bluetoothctl

#扫描周边蓝牙设备
scan on
#若例表中已找到设备则手动停止扫描
scan off
#连接蓝牙音箱
connect <蓝牙音箱MAC>

连接成功提示Device 30:21:23:6F:18:E2 Connected: yes

#退出bluetoothctl
exit

#播放音乐aplay -D bluealsa:DEV=音箱mac 音乐文件路径
aplay -D bluealsa:DEV=30:21:23:6F:18:E2 /a.wav &

3.2具体表现

蓝牙音乐播放失败,并且出现蓝牙设备断开现象

4.问题分析

1、对比R328等Tina平台,以上的验证方法没有问题,bluez 和 bluealsa版本也一致,因此判断不是操作或者版本本身的问题。 2、由于蓝牙已经断开,查看进程情况,通过PS命令,看出Bluetoothd进程还在,但是bluealsa进程已经退出。 3、加打印分析bluealsa退出点,经过验证是在SBC编码环节。 4、排查SBC编码的代码,发现程序在某个点会崩溃。 5、在网上查找相关案例,疑似与编译配置有关系。

5.根本原因

与SBC编译的配置有关系,在当前的编译工具链环境下,需要打开--enable-high-precision配置

6.解决办法

如下修改配置:

  • 修改sbc_primitives.h
diff --git a/sbc/sbc_primitives.h b/sbc/sbc_primitives.h
index e01c957..b060484 100644
--- a/sbc/sbc_primitives.h
+++ b/sbc/sbc_primitives.h
@@ -27,6 +27,10 @@
 #ifndef __SBC_PRIMITIVES_H
 #define __SBC_PRIMITIVES_H

+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #define SCALE_OUT_BITS 15
 #define SBC_X_BUFFER_SIZE 328
  • 在sbc.mk中增加
SBC_CONF_OPTS = --enable-high-precision

标签:SBC,蓝牙,全志,sbc,T113,primitives,播放,bluealsa
From: https://blog.51cto.com/u_15380233/6003656

相关文章

  • BLE蓝牙和传统蓝牙的区别
    移动设备上使用的蓝牙协议大多都是4.0,而蓝牙的4.0又有两个分支,经典4.0蓝牙和BLE4.0蓝牙​,经典4.0就是传统的3.0蓝牙升级而成,向下兼容。而BLE4.0蓝牙是一个新的分支,不向下兼......
  • 集WIFI、蓝牙的2.8寸串口屏在干果机上的应用方案
    随着居民日常消费的升级,人们对生活质量以及营养摄入的要求越来越高,休闲娱乐支出占比也逐步增长,当人们开始追求饮食的质量而非单纯饱腹时,就给休闲食品的消费带来了新的增长......
  • 关于全志D1的SPI通讯问题
    D1的SPI,空闲的时候是低电平,而且每个字节CLK有9个脉冲,如图所示:以下是SPI的配置如果想将空闲时变成高电平,以及每个字节的CLK设为8个,可以尝试通过一下两个角度去分析。S......
  • 文件已在另一个程序中打开-修改已连接的蓝牙设备名称
    操作无法完成因为其中的文件夹或文件已在另一个程序中打开参考链接在我们删除或者移动文件的时候,经常会遇到这种情况,然后又找不到在任务管理器打开的程序,导致我们无法对......
  • 三星ANDROID 10蓝牙连接上,数据没上来
    app能跟设备连接上,同时使能通道也是成功的,写入数据也是成功的,但是设备没有任何反应,也没数据上来。联调发现虽然app得到的反馈是成功的,但是设备并没有收到使能通道和写入数......
  • 黑苹果 双系统 macos 与Windows蓝牙共享
    一直在找Ventura与Windows11的蓝牙鼠标共享的办法,之前发帖问过,感谢各位群友的热心帮助,最终成功了!不敢独享,分享出来,让有需要的童鞋也能用起来。1、先在Windows11下配对好蓝牙......
  • 全国产!全志T3+Logos FPGA开发板(4核ARM Cortex-A7)规格书
    评估板简介创龙科技TLT3F-EVM是一款基于全志科技T3四核ARMCortex-A7+紫光同创LogosPGL25G/PGL50GFPGA设计的异构多核国产工业评估板,ARMCortex-A7处理器单元主频高达......
  • 全国产!全志T3+Logos FPGA核心板(4核ARM Cortex-A7)规格书
    核心板简介创龙科技SOM-TLT3F是一款基于全志科技T3四核ARMCortex-A7处理器+紫光同创LogosPGL25G/PGL50GFPGA设计的异构多核全国产工业核心板,ARMCortex-A7处理单元主......
  • 查找蓝牙WiFi功能,搜索名字并列举出来
    先有一个概念,蓝牙分为普通蓝牙和低功耗(BLE)蓝牙,低功耗蓝牙激活时信号和普通蓝牙信号一样,低功耗时必须搜索低功耗蓝牙信号如果使用普通代码搜索,不能搜索到低功耗蓝牙信号......
  • 蓝牙信标、智能楼宇应用国产低功耗芯片BLE5.2 PHY6252
    PHY6252是一款支持BLE5.2功能的系统级芯片(SoC),集成了低功耗的高性能多模射频收发机,搭载32位高性能低功耗处理器,提供64KretentionSRAM、可选512/256KFlash、96KBROM以及......