http://cache.qihoo.com/wenda.php?do=snap&act=fetchHtmlsnap&m=dc44adbcc27f3835645c037865190861&surl=http%3A%2F%2Fblog.sina.com.cn%2Fs%2Fblog_5f40053b0100cvsm.html&kw=SPDIF&src=wenda

 

Debian Linux下,ICE1724聲卡在alsa的驅動下,SPDIF輸出問題無法正常工作。經過G和長時間摸索,聲卡終於可以打開數字輸出了。



1.首先通過alsamixer打開ICE958,命令行下輸入alsamixer,向右移動至ICE958 0的位置,如果上面圖標的標誌為00,則已打開, 如果為MM,則處於靜音狀態。也可通過聲卡SPDIF輸出是否有紅色激光來判斷。打開此處,則已經建立了通路。顯示字樣如下:

┌──────────────────[AlsaMixer v1.0.16 (Press Escape to quit)]
│ Card: ICEnsemble ICE1724                                                     │
│ Chip: ICEnsemble VT1616i                                                     │
│ View: [Playback] Capture  All                                                │
│ Item: IEC958 Output                                                          │

2.通過proc下的信息來查看聲卡情況。
aaa@aaa:~$ cat /proc/asound/devices
  0: [ 0]   : control
  1:        : sequencer
  8: [ 0- 0]: raw midi
 16: [ 0- 0]: digital audio playback
 17: [ 0- 1]: digital audio playback
 24: [ 0- 0]: digital audio capture
 33:        : timer

我的聲卡顯示如上,說明包括兩個回放設備,分別為hw0-0 hw0-1,一個錄音設備,hw 0-0
默認情況下,ICE1724的配置文件在 /usr/share/alsa/alsa.conf下,在該文件中可以看到alsa設置的名字空間。
其中hw 0-1 即為IEC 958輸出設備。

3.通過定義~/.asoundrc配置文件來引用該設備。

pcm.spacespdifdmix{
    type dmix
    ipc_key 83484784
    slave {
        pcm "hw:0,1"
        format S32_LE
        rate 44100
        }
}
pcm.spacespdif {
    type plug
    slave {
        pcm spacespdifdmix
        }
}
#pcm.!default {
#    type plug
#    slave {
#        pcm spacespdifdmix
#        }
#}
pcm.!spdif {
    type plug
    slave {
        pcm "hw:0,1"
        format S32_LE
        rate=44100
        }
}

pcm.!iec958 {
    type plug
    slave {
        pcm "hw:0,1"
        format S32_LE
        rate=44100
        }
}

4,註銷當前帳戶,重新登錄,測試,通過命令行執行
mplayer -ao alsa:device=spdif test.mp3

5.aplayer中,設置alsa聲卡驅動的輸出中,直接填寫spdif,測試通過。

arrow
arrow
    全站熱搜

    yushan 發表在 痞客邦 留言(0) 人氣()