This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62P-LP:通过3.5mm 音频插孔进行的音频路由无法正常工作。

Guru**** 2482225 points
Other Parts Discussed in Thread: SK-AM62P-LP

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1449429/sk-am62p-lp-audio-routing-through-3-5-mm-audio-jack-is-not-working-properly

器件型号:SK-AM62P-LP

工具与软件:

环境:

电路板:SK-AM62P-LP

操作系统:AOSP 14 (10.0.0)(https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/10_00_00/docs/android/Overview.html)

设置:

使用音频分配器通过3.5毫米音频插孔连接扬声器和麦克风。

问题:

扬声器单独播放音频、麦克风单独录制音频。 这两项在单独使用时效果都很好。 但当两者都使用时、其中任何一个都会停止工作。 也就是说、如果我在播放音频时使用麦克风、则不会捕获任何音频、反之亦然。

它会抛出  PCM_OPEN (OUT)失败 或 PCM_OPEN (IN) 失败

这在 预编译上可以重现  AM62Px_userdebug_10.00.00_eMMC  保护

重现步骤

1.通过音频分配器将扬声器和麦克风连接到3.5毫米音频插孔。

2.播放一些音频。

3.尝试通过麦克风录音。

4.观察是否没有通过麦克风录制音频。

请求支持来解决此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我很难重现你的问题,因为我不知道什么是你的音频分离器,它是如何工作的,我没有音频分离器等

    如果您需要帮助、请分享更多详细信息。

    谢谢
    纪尧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、

    我可以为您提供更多信息。 我要附加在问题场景中捕获的日志。

    e2e.ti.com/.../audio_5F00_routing_5F00_issue.txt

    以下是它的分析:


    1.开始音频播放:
    第143行:12-10 10:25:12.654 324 3353 V tinyhal:-out_pcm_write (0xb4000075998efe50)

    2.打开简单的录音机应用程序输入录音:
    第5243行:12-10 10:25:18.429 558 1244 I ActivityTaskManager:启动 U10{act=android.intent.action.MAIN cat=[ android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.coffeebeanventions.easyvoicerecorder cm=com.coffeebeanenturies.easyvoicerecorder/com.digipom.easyvoicerecorder.u.active_all_10064的多个组件启动结果(EasyvoicerId_max_100)

    3.开始录音:
    行6675:12-10 10:25:20.064 558 977 I ActivityManager:Background started FGS:Allowed [callingPackage:com.coffeebeanventions.easyvoicerecorder;callingUid:1010115;uidState:top;uidBFSL:[BFSL];intent:intent{act=com.eebeanventions.coffyeasyvoicerorder。 APP_Requests_start_RECORD_ACTION cmp=com.coffeebeanventions.easyvoicerecorder/com.digipom.easyvoicerecorder.service.RecorderService (有额外)}; code:PROC_STATE_TOP; tempAllowListReason: ; targetSdkVersion:34;callerTargetSdkVersion:34;startForegroundCount:1;bindFromPackage:null:isBindService:false]

    4.连续 PCM_OPEN 出现故障时未录制音频错误:
    第7260行:12-10 10:25:20.570 324 3812 E tinyhal:pcm_open(in)失败:

    以下是在场景中捕获的 tinypcminfo 结果:

    1. 在没有音频播放或录制的情况下:

    am62p:/ # tinypcminfo -d 0 -D 0                                                                                                                                                                                   
    Info for card 0, device 0:
    
    PCM out:
          Access:	0x000009
       Format[0]:	0x000444
       Format[1]:	0x000001
     Format Name:	S16_LE, S24_LE, S32_LE, S24_3LE
       Subformat:	0x000001
            Rate:	min=8000Hz	max=96000Hz
        Channels:	min=2		max=2
     Sample bits:	min=16		max=32
     Period size:	min=4		max=16384
    Period count:	min=2		max=32768
    
    PCM in:
          Access:	0x000009
       Format[0]:	0x000444
       Format[1]:	0x000001
     Format Name:	S16_LE, S24_LE, S32_LE, S24_3LE
       Subformat:	0x000001
            Rate:	min=8000Hz	max=96000Hz
        Channels:	min=2		max=2
     Sample bits:	min=16		max=32
     Period size:	min=4		max=16384
    Period count:	min=2		max=32768

    2. 仅限音频、不带录音:

    am62p:/ # tinypcminfo -d 0 -D 0                                                                                                                                                                                   
    Info for card 0, device 0:
    
    PCM out:
    cannot open device 0 for card 0
    pcm_hw_open: cannot open device '/dev/snd/pcmC0D0p'Device does not exist.
    
    PCM in:
          Access:	0x000009
       Format[0]:	0x000400
       Format[1]:	00000000
     Format Name:	S32_LE
       Subformat:	0x000001
            Rate:	min=44100Hz	max=44100Hz
        Channels:	min=2		max=2
     Sample bits:	min=32		max=32
     Period size:	min=4		max=8192
    Period count:	min=2		max=16384

    3. 播放音频时录制:

    am62p:/ # tinypcminfo -d 0 -D 0
    Info for card 0, device 0:
    
    PCM out:
    cannot open device 0 for card 0
    pcm_hw_open: cannot open device '/dev/snd/pcmC0D0p'Device does not exist.
    
    PCM in:
    Access: 0x000009
    Format[0]: 0x000400
    Format[1]: 00000000
    Format Name: S32_LE
    Subformat: 0x000001
    Rate: min=44100Hz max=44100Hz
    Channels: min=2 max=2
    Sample bits: min=32 max=32
    Period size: min=4 max=8192
    Period count: min=2 max=16384

    4. 只能录制而不能播放音频:

    am62p:/ # tinypcminfo -d 0 -D 0                                                                                                                                                                                   
    Info for card 0, device 0:
    
    PCM out:
          Access:	0x000009
       Format[0]:	0x000004
       Format[1]:	00000000
     Format Name:	S16_LE
       Subformat:	0x000001
            Rate:	min=44100Hz	max=44100Hz
        Channels:	min=2		max=2
     Sample bits:	min=16		max=16
     Period size:	min=8		max=16384
    Period count:	min=2		max=16384
    
    PCM in:
    cannot open device 0 for card 0
    pcm_hw_open: cannot open device '/dev/snd/pcmC0D0c'Device does not exist.

    在播放音频时录制时、会注意到信道中的 PCM 不会像(3)中那样被消耗。 但是、当单独记录时、如(4)所示、它会被消耗。