Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    V853开发板硬件指南——音频功能

    V Series
    v853开发板软硬件指南
    2
    5
    2281
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • bayche
      bayche LV 6 last edited by q1215200171

      音频功能

      V853 开发板板载了两路麦克风输入,一路音频输入,一个扬声器输出。(注意,左侧 UART0 旁的 3.5mm 耳机接口是 GPS 使用的 UART 接口,不是耳机接口)

      录音

      • 查看录音设备

      可以使用 arecord -l 命令查看开发板提供的录音设备。

      root@TinaLinux:/# arecord -l
      

      它会输出以下内容

      **** List of CAPTURE Hardware Devices ****
      card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      • 麦克风录音

      V853 开发板板载了两个麦克风,位于 LINE-IN接口附近。

      在录音之前,首先需要打开音频通路,配置内部 MIC1,MIC2 录制双通道音频。

      选择 MIC1 输入

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Input Select' 0
      

      它会输出以下内容

      numid=23,iface=MIXER,name='MIC1 Input Select'
        ; type=ENUMERATED,access=rw------,values=1,items=2
        ; Item #0 'differ'
        ; Item #1 'single'
        : values=0
      

      选择 MIC2 输入

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Input Select' 0
      

      它会输出以下内容

      numid=23,iface=MIXER,name='MIC2 Input Select'
        ; type=ENUMERATED,access=rw------,values=1,items=2
        ; Item #0 'differ'
        ; Item #1 'single'
        : values=0
      

      开启 MIC1

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 Switch' 1
      

      它会输出以下内容

      numid=17,iface=MIXER,name='MIC1 Switch'
        ; type=BOOLEAN,access=rw------,values=1
        : values=on
      

      开启 MIC2

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 Switch' 1
      

      它会输出以下内容

      numid=17,iface=MIXER,name='MIC2 Switch'
        ; type=BOOLEAN,access=rw------,values=1
        : values=on
      

      设置 MIC1 音量

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC1 gain volume' 30
      

      它会输出以下内容

      numid=12,iface=MIXER,name='MIC1 gain volume'
        ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
        : values=19
        | dBscale-min=0.00dB,step=1.00dB,mute=0
      

      设置 MIC2 音量

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='MIC2 gain volume' 30
      

      它会输出以下内容

      numid=12,iface=MIXER,name='MIC2 gain volume'
        ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
        : values=19
        | dBscale-min=0.00dB,step=1.00dB,mute=0
      

      使用arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav 命令,使用板载的两个麦克风进行录音。

      root@TinaLinux:/# arecord -D hw:audiocodec -f S16_LE -t wav -c2 -r 16000 -d 3 t.wav
      

      它会输出以下内容

      Recording WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
      

      播放

      SPK.jpg

      • 查看播放设备

      使用 aplay -l 查看播放设备

      root@TinaLinux:/# aplay -l
      

      它会输出以下内容

      **** List of PLAYBACK Hardware Devices ****
      card 0: audiocodec [audiocodec], device 0: soc@03000000:codec_plat-sunxi-snd-codec sunxi-snd-codec-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      card 1: snddaudio0 [snddaudio0], device 0: 2032000.daudio0_plat-snd-soc-dummy-dai snd-soc-dummy-dai-0 []
        Subdevices: 1/1
        Subdevice #0: subdevice #0
      
      • 扬声器播放音频

      在播放之前,首先需要打开音频通路,配置扬声器播放音频。

      开启 LINEOUT 输出功能

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Output Select' 1
      

      它会输出以下内容

      numid=22,iface=MIXER,name='LINEOUT Output Select'
        ; type=ENUMERATED,access=rw------,values=1,items=2
        ; Item #0 'single'
        ; Item #1 'differ'
        : values=1
      

      开启 LINEOUT 通路

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT Switch' 1
      

      它会输出以下内容

      numid=20,iface=MIXER,name='LINEOUT Switch'
        ; type=BOOLEAN,access=rw------,values=1
        : values=on
      

      设置输出音量

      root@TinaLinux:/# amixer -D hw:audiocodec cset name='LINEOUT volume' 25
      

      它会输出以下内容

      numid=16,iface=MIXER,name='LINEOUT volume'
        ; type=INTEGER,access=rw---R--,values=1,min=0,max=31,step=0
        : values=25
        | dBrange-
          rangemin=0,,rangemax=1
            | dBscale-min=0.00dB,step=0.00dB,mute=1
          rangemin=2,,rangemax=31
            | dBscale-min=-43.50dB,step=1.50dB,mute=1
      

      使用 aplay 通过外接扬声器播放刚才录制的音频。

      aplay -D hw:audiocodec t.wav
      

      它会输出以下内容

      Playing WAVE 't.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Stereo
      

      修改音量

      使用 alsamixer 提供的图形化界面调整音量。

      root@TinaLinux:/# alasmixer
      

      Alasmixer.jpg

      1 Reply Last reply Reply Quote Share 0
      • Y
        yelong98 LV 7 last edited by

        整点干脆的嘛!一起放出来sdk得了

        bayche 1 Reply Last reply Reply Quote Share 0
        • bayche
          bayche LV 6 @yelong98 last edited by q1215200171

          @yelong98 我先来:搁这挤牙膏呢😠

          Y 1 Reply Last reply Reply Quote Share 0
          • Y
            yelong98 LV 7 @bayche last edited by

            @bayche 挤牙膏也要挤多点啊,就这么针眼大一点,沾点水就化没了

            bayche 1 Reply Last reply Reply Quote Share 0
            • bayche
              bayche LV 6 @yelong98 last edited by

              @yelong98 阿巴阿巴🙃

              1 Reply Last reply Reply Quote Share 0
              • 1 / 1
              • First post
                Last post

              Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

              行为准则 | 用户协议 | 隐私权政策