我正在嘗試創建一個應用程序,它將以音頻流的方式傳輸音頻以及提供LED VU表示音頻流。Rpi wheezy在USB和虛擬卡上的重複捕獲
我已經創建了一個虛擬卡。該卡被alsamixer,aplay和arecord識別,但我無法將來自usb卡(hw:0,0)的線路輸入信號傳輸到虛擬卡(hw:2,0)。
我嘗試了幾個.asoundrc腳本,我在你的Q & A以及Google上使用alsa dmix,dsnoop和multi找到了這兩個腳本,但是到目前爲止沒有任何工作。
我目前使用一個在一個終端自動啓動的python程序(LED_VU.py),第二個終端使用第二個包含Darkice(streamer.diDual.py)的python程序。該LED項目的配置部分:
### LED VU Meter on RPI ###
#!/usr/bin/env python
import alsaaudio as AA
import audioop
from time import sleep
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
#Define physical header pin numbers for 10 LEDs
RPiPins=[11,12,13,15,16,18,22,7,3,5]
#set all pins as output
for pin in RPiPins:
GPIO.setup(pin, GPIO.OUT)
#Set up audio
card = 'hw:0,0'
darkiceDual.cfg的configuation部分:
# Darkice Configuration File - Generated by Streamer
[general]
duration = 0 # duration of encoding, in seconds. 0 means forever
bufferSecs = 5 # size of internal slip buffer in seconds
reconnect = yes # reconnect to server if disconnected
[input]
device = hw:2,0 # alsa usb soundcard device for audio input
sampleRate = 44100 # sample rate in Hz
bitsPerSample = 16 # bits per sample
channel = 2 # channels. 1 = mono, 2 = stereo
我.asoundrc文件是:
pcm.!default {
type plug
slave.pcm "mdev"
route_policy "duplicate"
}
pcm.mdev {
type multi
slaves.a.pcm "hw:0,0"
slaves.a.channels 2
slaves.b.pcm "dmixer"
slaves.b.channels 2
bindings.0.slave a
bindings.0.channel 0
bindings.1.slave a
bindings.1.channel 1
bindings.2.slave b
bindings.2.channel 0
bindings.3.slave b
bindings.3.channel 1
}
pcm.dmixer {
type dmix
ipc_key 1024
slave {
pcm "hw:2,0"
period_time 0
period_size 1024
buffer_size 4096
rate 44100
channels 2
format S16_LE
}
}
我在做什麼錯?
如果我使用hw:2,0,並且如果使用hw:0,0(LED_VU.py正在使用這個),則會出現'無法連接'錯誤。如果我將LED程序的卡片設置更改爲hw:2,0,則LED將全部點亮並鎖定。
任何幫助表示讚賞!
謝謝你的幫助。這兩個程序都按預期使用USB線。
我現在無法使用alsamixer或amixer。 Pulseaudio現在正在引發這個問題。如果已安裝,則LED_VU.py程序將不會運行。當它被卸載時,python程序將運行,但不是alsamixer。