Android löst Probleme bei der Aufnahme und Wiedergabe von Audio durch Tinyalsa-Debugging

Bei der Entwicklung von Audio auf Android-Geräten können verschiedene Probleme auftreten. Einer davon ist, dass die Aufnahmelautstärke zu niedrig ist. In diesem Artikel werde ich untersuchen, wie dieses Problem diagnostiziert und behoben werden kann, und die Verwendung des Tinyalsa-Tools kurz vorstellen.

Problembeschreibung

Seit Kurzem nutze ich die Android-Plattform von Allwinner. Ein Kunde benötigt ein Mikrofon, das die Funktion zum Aufzeichnen und Abspielen von Audio benötigt. Ich habe den Soundkartentreiber der Allwinner-Plattform gefunden, der zwei Mikrofoneingänge bietet, nämlich MIC1 und MIC2. Ich möchte MIC1 als Aufnahmeeingangsquelle anstelle von MIC2 verwenden.

Ich habe viele Dinge versucht, einschließlich der Änderung der Soundkarten-Konfigurationsdateien, der Mixer-Steuerung und der Aufnahmebefehle, ohne Erfolg.

Lösung

Nach einigem Suchen und Ausprobieren habe ich eine Lösung gefunden, die darin besteht, MIC1 als Aufnahmeeingangsquelle zu verwenden, indem ich die Konfigurationsdatei der Soundkarte, die Mixersteuerung und die Aufnahmebefehle modifiziere und die Lautstärke der MIC-Aufnahme und des Verstärkerkopfhörers erhöhe.

Ändern Sie die Konfigurationsdatei der Soundkarte

Die Soundkarten-Konfigurationsdatei ist eine Datei zum Definieren von Soundkartenparametern und -geräten. Sie befindet sich normalerweise in system\etc\codec_paths.xml. :

  <path name="media-main-mic">
   <ctl name="Left Input Mixer MIC2 Boost Switch" value="1" />
   <ctl name="Right Input Mixer MIC2 Boost Switch" value="1" />
  </path>

  <path name="media-main-mic-close">
   <ctl name="Left Input Mixer MIC2 Boost Switch" value="0" />
   <ctl name="Right Input Mixer MIC2 Boost Switch" value="0" />
  </path>

Speicherort des Quellcodes:hardware/aw/audio/codec_paths.xml

Dieser Inhalt definiert die Audiopfadkonfiguration im Android-Audiosystem. Diese Pfadkonfigurationen werden normalerweise verwendet, um zu bestimmen, wie Audiosignale zwischen Hardware und Software fließen.

  • Wenn media-main-micder Pfad aktiviert ist, wird der MIC2-Verstärkungsschalter sowohl am linken als auch am rechten Eingangsmischer eingeschaltet, sodass das MIC2-Audiosignal in die Audioverarbeitungskette gelangen kann.

  • Wenn media-main-mic-closeder Pfad aktiviert ist, wird der Verstärkungsschalter von MIC2 sowohl am linken als auch am rechten Eingangsmischer ausgeschaltet, wodurch verhindert wird, dass das Audiosignal von MIC2 in die Audioverarbeitungskette gelangt.

Ich habe die Datei auf dem normalen Computer verglichen und sie wurde angezeigt MIC1, aber auf dem abnormalen Computer wurde sie angezeigt, MIC2daher halte ich es für effektiv, dies zu ändern.

Ändern Sie die Mixer-Steuerung

Dann erinnerte ich mich an das Debugging, das ich vor langer Zeit verwendet hatte tinyalsa , wenn es nicht nötig war, es auszuführen mmm external/tinyalsa/.

Mixer-Steuerelemente sind Parameter, mit denen Soundkarteneinstellungen gesteuert werden, z. B. Eingangsquelle, Ausgabegerät, Verstärkung, Lautstärke usw. Um die Mixer-Steuerelemente zu ändern, müssen Sie ein Befehlszeilentool verwenden, um diese Parameter anzuzeigen und festzulegen. Auf der Allwinner-Plattform können Sie das Tool tinyalsa verwenden, um diese Funktion zu implementieren. tinyalsa ist eigentlich eine vereinfachte ALSA-Bibliothek, die einige Befehlszeilentools zum Testen und Steuern von Audiogeräten bereitstellt.

Verwenden Sie tinyalsa, um die Mischpultsteuerung zu ändern, z. B. um die Parameter für die Mikrofonaufnahme und die Kopfhörerlautstärke des Verstärkers anzupassen. Sie können den Befehl tinymix verwenden, um die Werte dieser Steuerelemente zu ändern, zum Beispiel:

tinymix "digital volume" 63
tinymix "Headphone volume" 63
tinymix "MIC gain volume" 7 7
tinymix "MIC1 boost volume" 7
tinymix "MIC2 boost volume" 7
tinymix "ADC gain volume" 7

Sie können die Aufnahme- und Verstärker-Kopfhörer-Schallpegel des Mikrofons beeinflussen:

  • digitale Lautstärke: Mit diesem Regler kann die digitale Lautstärke eingestellt werden. Der Bereich liegt zwischen 0 und 63. Je größer der Wert, desto höher die Lautstärke.
  • Kopfhörerlautstärke: Mit diesem Regler können Sie die Kopfhörerlautstärke einstellen. Der Bereich liegt zwischen 0 und 63. Je größer der Wert, desto höher die Lautstärke.
  • MIC-Gain-Lautstärke: Dieser Regler kann die Verstärkung von MIC einstellen. Er verfügt über zwei Kanäle, entsprechend MIC1 und MIC2. Der Bereich liegt zwischen 0 und 7. Je größer der Wert, desto größer die Verstärkung.
  • MIC1-Boost-Lautstärke: Mit diesem Regler kann die zusätzliche Verstärkung von MIC1 eingestellt werden. Der Bereich liegt zwischen 0 und 7. Je größer der Wert, desto größer die Verstärkung.
  • MIC2-Boost-Lautstärke: Mit diesem Regler kann die zusätzliche Verstärkung von MIC2 eingestellt werden. Der Bereich liegt zwischen 0 und 7. Je größer der Wert, desto größer die Verstärkung.
  • ADC-Verstärkungslautstärke: Dieser Regler kann die Verstärkung des ADC anpassen. Der Bereich liegt zwischen 0 und 7. Je größer der Wert, desto größer die Verstärkung.

Diese Befehle setzen die Werte dieser Bedienelemente auf den Maximalwert und erhöhen dadurch vorübergehend und schnell die Lautstärke der MIC-Aufnahme und des Verstärkerkopfhörers. Passen Sie dann diese Werte des Codes entsprechend der tatsächlichen Situation an.

Aufnahmebefehl ändern

Der Aufnahmebefehl ist ein Befehlszeilentool zum Aufnehmen von Audiodateien. Er kann Parameter wie Abtastrate, Anzahl der Kanäle, Format, Dauer usw. angeben. Auf der Allwinner-Plattform können Sie das Tool tinyalsa verwenden, um diese Funktion zu implementieren.

Um den Aufnahmebefehl mit tinyalsa zu ändern, müssen Sie den folgenden Befehl ausführen:

tinycap -D 0 -d mic -c 2 -r 44100 -b 16 -t 10 /sdcard/test.wav

Dieser Befehl bedeutet, dass das Mikrofongerät der Soundkarte 0, Zweikanal, 44,1 kHz, 16 Bit, verwendet wird, um eine 10-sekündige Audiodatei in /sdcard/test.wav aufzunehmen.

Ergebnisüberprüfung

Nach den oben genannten Änderungen kann ich MIC2 zum Aufnehmen und Abspielen von Audio verwenden. Meine Ergebnisse können mit dem folgenden Befehl überprüft werden:

tinyplay -D 0 /sdcard/test.wav

Dieser Befehl bedeutet, dass die Soundkarte 0 zum Abspielen der Datei /sdcard/test.wav verwendet wird. Der von mir aufgenommene Audioinhalt ist hörbar und der Ton ist klar und laut.

Bisher ist mein Problem gelöst,


Andere Audio-Debugging-Methoden

Hier sind einige gängige Befehle und Methoden zum Debuggen von Audioproblemen:

1. Audioprofilprüfung

Auf bestimmten Plattformen wie Allwinner gibt es möglicherweise spezielle Konfigurationsdateien oder Tools für Audioeinstellungen. /system/etcDiese Dateien finden Sie in oder anderen relevanten Verzeichnissen.

2. Verwenden Sie dumpsysBefehle

dumpsysEs bietet detaillierte Informationen zu Systemdiensten. Um detaillierte Informationen über das Audiosystem zu erhalten, können Sie Folgendes verwenden:

XXX # dumpsys media.audio_flinger
Library loudness_enhancer
  Loudness Enhancer / The Android Open Source Project
    UUID: fa415329-2034-4bea-b5dc-5b381c8d1e2c
    TYPE: fe3199be-aed0-413f-87bb-11260eb63cf1
    apiVersion: 00020000
    flags: 00000008
Library downmix
  Multichannel Downmix To Stereo / The Android Open Source Project
    UUID: 93f04452-e4fe-41cc-91f9-e475b6d1d69f
    TYPE: 381e49cc-a858-4aa2-87f6-e8388e7601b2
    apiVersion: 00020000
    flags: 00000008
Library visualizer
  Visualizer / The Android Open Source Project
    UUID: d069d9e0-8329-11df-9168-0002a5d5c51b
    TYPE: e46b26a0-dddd-11db-8afd-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000008
Library reverb
  Insert Preset Reverb / NXP Software Ltd.
    UUID: 172cdf00-a3bc-11df-a72f-0002a5d5c51b
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000048
  Auxiliary Preset Reverb / NXP Software Ltd.
    UUID: f29a1400-a3bb-11df-8ddc-0002a5d5c51b
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000001
  Insert Environmental Reverb / NXP Software Ltd.
    UUID: c7a511a0-a3bb-11df-860e-0002a5d5c51b
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000048
  Auxiliary Environmental Reverb / NXP Software Ltd.
    UUID: 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000001
Library bundle
  Volume / NXP Software Ltd.
    UUID: 119341a0-8469-11df-81f9-0002a5d5c51b
    TYPE: 09e8ede0-ddde-11db-b4f6-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000050
  Equalizer / NXP Software Ltd.
    UUID: ce772f20-847d-11df-bb17-0002a5d5c51b
    TYPE: 0bed4300-ddd6-11db-8f34-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000048
  Virtualizer / NXP Software Ltd.
    UUID: 1d4033c0-8557-11df-9f2d-0002a5d5c51b
    TYPE: 37cc2c00-dddd-11db-8577-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000250
  Dynamic Bass Boost / NXP Software Ltd.
    UUID: 8631f300-72e2-11df-b57e-0002a5d5c51b
    TYPE: 0634f220-ddd4-11db-a0fc-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000248
Clients:
  pid: 2404
Notification Clients:
  pid: 1755
  pid: 1765
  pid: 2404
  pid: 4551
  pid: 5872
Global session refs:
  session   pid count
        9  2404     1
Hardware status: 0
Standby Time mSec: 3000

Output thread 0xae003d40 type 0 (MIXER):
  Thread name: AudioOut_D
  I/O handle: 13
  TID: 1823
  Standby: yes
  Sample rate: 44100 Hz
  HAL frame count: 2720
  HAL format: 0x1 (pcm16)
  HAL buffer size: 10880 bytes
  Channel count: 2
  Channel mask: 0x00000003 (front-left, front-right)
  Processing format: 0x1 (pcm16)
  Processing frame size: 4 bytes
  Pending config events: none
  Output device: 0x2 (SPEAKER)
  Input device: 0 (NONE)
  Audio source: 0 (default)
  Normal frame count: 2720
  Last write occurred (msecs): 2158695
  Total writes: 4459
  Delayed writes: 0
  Blocked in write: no
  Suspend count: 0
  Sink buffer : 0xae054000
  Mixer buffer: 0xae072000
  Effect buffer: 0xae057000
  Fast track availMask=0xfe
  Standby delay ns=3000000000
  AudioStreamOut: 0xae548150 flags 0x2 (PRIMARY)
  Frames written: 12128480
  Suspended frames: 0
  Hal stream dump:
  Thread throttle time (msecs): 1037
  AudioMixer tracks: 0x00000001
  Master mono: off
  FastMixer not initialized
  Stream volumes in dB: 0:-5.9, 1:-6, 2:0, 3:0, 4:0, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
  Normal mixer raw underrun counters: partial=0 empty=0
  1 Tracks of which 0 are active
    Name Active Client Type      Fmt Chn mask Session fCount S F SRate  L dB  R dB    Server Main buf  Aux Buf Flags UndFrmCnt
       0     no   2404    1 00000001 00000003       9   4512 S 1 48000  -inf  -inf  0005B6E0 0xae054000 0x0 0x600         0
  0 Effect Chains

USB audio module:
  No output streams.

  No input streams.

Reroute submix audio module:
 route[0] rate in=0 out=0, addr=[]
 route[1] rate in=0 out=0, addr=[]
 route[2] rate in=0 out=0, addr=[]
 route[3] rate in=0 out=0, addr=[]
 route[4] rate in=0 out=0, addr=[]
 route[5] rate in=0 out=0, addr=[]
 route[6] rate in=0 out=0, addr=[]
 route[7] rate in=0 out=0, addr=[]
 route[8] rate in=0 out=0, addr=[]
 route[9] rate in=48000 out=48000, addr=[]
a40-p1:/data/data # cat /proc/asound/cards
 0 [audiocodec     ]: audiocodec - audiocodec
                      audiocodec
 1 [fmidi          ]: MIDI Gadget - f_midi
                      MIDI Gadget
a40-p1:/data/data # dumpsys media.audio_flinger
Library loudness_enhancer
  Loudness Enhancer / The Android Open Source Project
    UUID: fa415329-2034-4bea-b5dc-5b381c8d1e2c
    TYPE: fe3199be-aed0-413f-87bb-11260eb63cf1
    apiVersion: 00020000
    flags: 00000008
Library downmix
  Multichannel Downmix To Stereo / The Android Open Source Project
    UUID: 93f04452-e4fe-41cc-91f9-e475b6d1d69f
    TYPE: 381e49cc-a858-4aa2-87f6-e8388e7601b2
    apiVersion: 00020000
    flags: 00000008
Library visualizer
  Visualizer / The Android Open Source Project
    UUID: d069d9e0-8329-11df-9168-0002a5d5c51b
    TYPE: e46b26a0-dddd-11db-8afd-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000008
Library reverb
  Insert Preset Reverb / NXP Software Ltd.
    UUID: 172cdf00-a3bc-11df-a72f-0002a5d5c51b
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000048
  Auxiliary Preset Reverb / NXP Software Ltd.
    UUID: f29a1400-a3bb-11df-8ddc-0002a5d5c51b
    TYPE: 47382d60-ddd8-11db-bf3a-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000001
  Insert Environmental Reverb / NXP Software Ltd.
    UUID: c7a511a0-a3bb-11df-860e-0002a5d5c51b
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000048
  Auxiliary Environmental Reverb / NXP Software Ltd.
    UUID: 4a387fc0-8ab3-11df-8bad-0002a5d5c51b
    TYPE: c2e5d5f0-94bd-4763-9cac-4e234d06839e
    apiVersion: 00020000
    flags: 00000001
Library bundle
  Volume / NXP Software Ltd.
    UUID: 119341a0-8469-11df-81f9-0002a5d5c51b
    TYPE: 09e8ede0-ddde-11db-b4f6-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000050
  Equalizer / NXP Software Ltd.
    UUID: ce772f20-847d-11df-bb17-0002a5d5c51b
    TYPE: 0bed4300-ddd6-11db-8f34-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000048
  Virtualizer / NXP Software Ltd.
    UUID: 1d4033c0-8557-11df-9f2d-0002a5d5c51b
    TYPE: 37cc2c00-dddd-11db-8577-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000250
  Dynamic Bass Boost / NXP Software Ltd.
    UUID: 8631f300-72e2-11df-b57e-0002a5d5c51b
    TYPE: 0634f220-ddd4-11db-a0fc-0002a5d5c51b
    apiVersion: 00020000
    flags: 00000248
Clients:
  pid: 2404
Notification Clients:
  pid: 1755
  pid: 1765
  pid: 2404
  pid: 4551
  pid: 5872
Global session refs:
  session   pid count
        9  2404     1
Hardware status: 0
Standby Time mSec: 3000

Output thread 0xae003d40 type 0 (MIXER):
  Thread name: AudioOut_D
  I/O handle: 13
  TID: 1823
  Standby: yes
  Sample rate: 44100 Hz
  HAL frame count: 2720
  HAL format: 0x1 (pcm16)
  HAL buffer size: 10880 bytes
  Channel count: 2
  Channel mask: 0x00000003 (front-left, front-right)
  Processing format: 0x1 (pcm16)
  Processing frame size: 4 bytes
  Pending config events: none
  Output device: 0x2 (SPEAKER)
  Input device: 0 (NONE)
  Audio source: 0 (default)
  Normal frame count: 2720
  Last write occurred (msecs): 2540304
  Total writes: 4459
  Delayed writes: 0
  Blocked in write: no
  Suspend count: 0
  Sink buffer : 0xae054000
  Mixer buffer: 0xae072000
  Effect buffer: 0xae057000
  Fast track availMask=0xfe
  Standby delay ns=3000000000
  AudioStreamOut: 0xae548150 flags 0x2 (PRIMARY)
  Frames written: 12128480
  Suspended frames: 0
  Hal stream dump:
  Thread throttle time (msecs): 1037
  AudioMixer tracks: 0x00000001
  Master mono: off
  FastMixer not initialized
  Stream volumes in dB: 0:-5.9, 1:-6, 2:0, 3:0, 4:0, 5:0, 6:0, 7:-6, 8:-6, 9:0, 10:0, 11:0, 12:0
  Normal mixer raw underrun counters: partial=0 empty=0
  1 Tracks of which 0 are active
    Name Active Client Type      Fmt Chn mask Session fCount S F SRate  L dB  R dB    Server Main buf  Aux Buf Flags UndFrmCnt
       0     no   2404    1 00000001 00000003       9   4512 S 1 48000  -inf  -inf  0005B6E0 0xae054000 0x0 0x600         0
  0 Effect Chains

USB audio module:
  No output streams.

  No input streams.

Reroute submix audio module:
 route[0] rate in=0 out=0, addr=[]
 route[1] rate in=0 out=0, addr=[]
 route[2] rate in=0 out=0, addr=[]
 route[3] rate in=0 out=0, addr=[]
 route[4] rate in=0 out=0, addr=[]
 route[5] rate in=0 out=0, addr=[]
 route[6] rate in=0 out=0, addr=[]
 route[7] rate in=0 out=0, addr=[]
 route[8] rate in=0 out=0, addr=[]
 route[9] rate in=48000 out=48000, addr=[]

3. Sehen Sie sich ALSA PCM-Geräte an

Um die derzeit im System vorhandenen ALSA PCM-Geräte anzuzeigen, verwenden Sie den folgenden Befehl:

XXX:/data/data # cat /proc/asound/pcm
00-00: SUNXI-CODEC sun8iw11codec-0 :  : playback 1 : capture 1

4. Listen Sie alle Soundkarten auf

Um alle Soundkarten im System anzuzeigen, verwenden Sie den folgenden Befehl:

XXX:/data/data # cat /proc/asound/cards
 0 [audiocodec     ]: audiocodec - audiocodec
                      audiocodec
 1 [fmidi          ]: MIDI Gadget - f_midi
                      MIDI Gadget

5. Verwenden Sie das Tinyalsa-Tool

tinyalsaIst ein Tool zur Interaktion mit der ALSA-Schnittstelle. Um alle Mixer-Steuerelemente aufzulisten, verwenden Sie:

XXX:/ # tinymix
Mixer name: 'audiocodec'
Number of controls: 48
ctl     type    num     name                                     value
0       ENUM    1       codec hub mode                           hub_disable
1       INT     1       digital volume                           63
2       INT     1       Headphone volume                         59
3       INT     2       LINEIN Mixer volume                      3 3
4       INT     1       FM gain volume                           3
5       INT     1       LINEIN gain volume                       3
6       INT     2       MIC gain volume                          3 3
7       INT     1       phoneout volume                          3
8       INT     1       MIC1 boost volume                        4
9       INT     1       MIC2 boost volume                        4
10      INT     1       ADC gain volume                          3
11      ENUM    1       MIC2 Mux                                 MIC2IN
12      ENUM    1       HPL Mux                                  DAC
13      ENUM    1       HPR Mux                                  DAC
14      BOOL    1       Phone Out Mixer LOMIX Switch             Off
15      BOOL    1       Phone Out Mixer ROMIX Switch             Off
16      BOOL    1       Phone Out Mixer MIC2 Boost Switch        Off
17      BOOL    1       Phone Out Mixer MIC1 Boost Switch        Off
18      BOOL    1       Right Input Mixer LOMIX Switch           Off
19      BOOL    1       Right Input Mixer ROMIX Switch           Off
20      BOOL    1       Right Input Mixer FMR Switch             Off
21      BOOL    1       Right Input Mixer LINEINR Switch         Off
22      BOOL    1       Right Input Mixer LINEINLR Switch        Off
23      BOOL    1       Right Input Mixer MIC2 Boost Switch      On
24      BOOL    1       Right Input Mixer MIC1 Boost Switch      Off
25      BOOL    1       Left Input Mixer ROMIX Switch            Off
26      BOOL    1       Left Input Mixer LOMIX Switch            Off
27      BOOL    1       Left Input Mixer FML Switch              Off
28      BOOL    1       Left Input Mixer LINEINL Switch          Off
29      BOOL    1       Left Input Mixer LINEINLR Switch         Off
30      BOOL    1       Left Input Mixer MIC2 Boost Switch       On
31      BOOL    1       Left Input Mixer MIC1 Boost Switch       On
32      BOOL    1       Right Output Mixer DACL Switch           Off
33      BOOL    1       Right Output Mixer DACR Switch           On
34      BOOL    1       Right Output Mixer FMR Switch            Off
35      BOOL    1       Right Output Mixer LINEINR Switch        Off
36      BOOL    1       Right Output Mixer LINEINLR Switch       Off
37      BOOL    1       Right Output Mixer MIC2 Boost Switch     Off
38      BOOL    1       Right Output Mixer MIC1 Boost Switch     Off
39      BOOL    1       Left Output Mixer DACR Switch            Off
40      BOOL    1       Left Output Mixer DACL Switch            On
41      BOOL    1       Left Output Mixer FML Switch             Off
42      BOOL    1       Left Output Mixer LINEINL Switch         Off
43      BOOL    1       Left Output Mixer LINEINLR Switch        Off
44      BOOL    1       Left Output Mixer MIC2 Boost Switch      Off
45      BOOL    1       Left Output Mixer MIC1 Boost Switch      Off
46      BOOL    1       Headphone Switch                         On
47      BOOL    1       Phoneout Speaker Switch                  Off

6. Audiobezogene Protokolle anzeigen

Mithilfe logcatvon Tools können Sie die Protokolle im Zusammenhang mit Systemaudio überprüfen, um festzustellen, ob Probleme oder Fehler vorliegen:

logcat | grep -i audio

7. Sehen Sie sich die Kernel-Protokolle an

dmesgMit dem Befehl können Sie sich das Kernel-Protokoll ansehen und prüfen, ob es Probleme mit dem Audiotreiber gibt:

dmesg | grep -i audio

Zusammenfassen

Durch diesen Prozess habe ich gelernt, wie man den Soundkartentreiber der Allwinner-Android-Plattform zum Aufzeichnen und Abspielen von Audio verwendet, insbesondere wie man MIC1 als Aufnahmeeingangsquelle verwendet. Ich habe auch gelernt, wie man Tinyalsa als Tool zum Anzeigen und Einstellen von Ton verwendet Kartenparameter und Geräte.

Ich hoffe, dieser Blog hat Ihnen geholfen. Wenn Sie Fragen oder Vorschläge haben, hinterlassen Sie diese bitte im Kommentarbereich. Danke!

Supongo que te gusta

Origin blog.csdn.net/SHH_1064994894/article/details/133272500
Recomendado
Clasificación