如何决定audio的输出路径?

如何决定audio的输出路径?

由 jiang shao 于 2016-9-8 提出的问题
最新回复由jiang shao于2016-9-13提供 

  • 喜欢 • 显示 0 喜欢0
  • 评论 • 2

各位尊敬的FAE

我有一块非原装imx6dl sabresd开发板,带有wm8960和hdmi接口,最近根据community上的文章完成了wm8960的porting。但是产生了一个新的问题,不知道是不是因为hdmi和wm8960共用一组i2c导致,它们两者之间存在冲突,播放声音时会黑屏,且声音时有时无。

1,请问有没有办法避免这个问题?

2,若有办法解决冲突的话,可以选择声音从哪里输出吗?例如在bootargs里添加变量之类的。。。

其他用户没有此问题

可见性:  i.MX Processors417 次浏览

最后修改日期:2016-9-8 上午2:57

分类: i.MX6Duali.MX6QuadAndroidMultimedia

  • Wigros Sun

    Wigros Sun 员工2016-9-11 下午10:39

    Hello Jiangshao,

    (1)I2C是否冲突

    I2C总线上,HDMI用作获取EDID数据,地址为0X50;WM8960地址是0x1A,所以不会是I2C冲突问题。

    (2)HDMI和codec谁输出的问题

    HDMI接口有一个Hotplug的定义,如果板子检测到有HDMI线插入,那么Audio就会首先从HDMI输出;如果没有HDMI线,就会从WM8960输出音频,这时就会检测有没有耳机存在或者插入,如有耳机就从耳机输出,如没有耳机,就从WM8960的speaker输出。

    (3)硬件的设计检查

    当你按照文档porting WM8960时,要核对一下你的WM8960原理图与论坛上(WM8960文档链接上)WM8960原理图是否一致,特别是Headphone检测的GPIO是不同的。

    Regards,

    Weidong Sun

    喜欢 • 显示 0 喜欢0

     操作 

    • jiang shao

      jiang shaoWigros Sun 在 2016-9-13 上午1:53

         关于硬件设计,我多次确认过连线,如果原理图没错的话,headphone_det和microphone_det和原装板是一致的。当然我也继续在和厂家确认原理图的正确性。

      现在如果插上hdmi线,打开logcat,会有如下现象:

      在安卓的设置-》音量里设置闹钟,产生如下信息。似乎会选择从wm8960出声

      E/WVMExtractor( 2206): Failed to open libwvm.so

      D/Ringtone( 2702): Successfully created local player

      W/audio_hw_primary( 2206): out_set_parameters routing=2, ret 1, out 1074358776

      W/audio_hw_primary( 2206): card 0, port 0 device 0x2

      W/audio_hw_primary( 2206): rate 44100, channel 2 period_size 0xc0

      W/AudioFlinger( 2206): write blocked for 445 msecs, 2 delayed writes, thread 0x40cf8008

      选了音乐,视频,游戏和其他媒体,产生如下信息。似乎会选择从hdmi出声

      E/WVMExtractor( 2206): Failed to open libwvm.so

      D/Ringtone( 2702): Successfully created local player

      W/audio_hw_primary( 2206): do_out_standby... 1074358776

      W/audio_hw_primary( 2206): out_set_parameters routing=1024, ret 4, out 1074358776

      W/audio_hw_primary( 2206): card 1, port 0 device 0x400

      W/audio_hw_primary( 2206): rate 44100, channel 2 period_size 0x300

      W/audio_hw_primary( 2206): do_out_standby... 1074358776

      其中,card 0是wm8960,card 1是hdmi

      喜欢 • 显示 0 喜欢0

猜你喜欢

转载自blog.csdn.net/weixin_42082222/article/details/84970384