cht電腦資訊BSD
adm Find login register

音效

本人已不在此站活動
1 音效
Promote 0 Bookmark 02007-12-20quote  

我記得以前在 linux 時,是使用 oss,這樣無法同時發聲,例如, 一邊播 mplayer 一邊播 mpg123。記得是要使用 esd 或 kde(忘了名字了)或者是使用 alsa 才可以?

我現在用 fbsd,還是用 oss,沒 esd/kde/alsa,但是我可以一邊播 mplayer 一邊播 mpg213 呀!兩邊的聲音都會出現。

這是什麼靈異現象?

[edt1023@lgj ~]$ cat /dev/sndstat
FreeBSD Audio Driver (newpcm)   
Installed devices:          
pcm0: <Creative CT5880-C> at io 0xd000 irq 9 kld snd_es137x (1p/1r/1v channels d
uplex default)                                                                

底下就要一個一個查了,不然看不懂:

[edt1023@lgj ~]$ sysctl -a| grep snd
hw.snd.report_soft_formats: 1

 hw.snd.report_soft_formats: 1
hw.snd.targetirqrate: 32     
hw.snd.compat_linux_mmap: 0
hw.snd.verbose: 1          
hw.snd.maxautovchans: 4
hw.snd.unit: 0         
hw.snd.pcm0.buffersize: 4096
hw.snd.pcm0.vchans: 1       
hw.snd.pcm0.spdif_enabled: 0

[edt1023@lgj ~]$ sysctl -a| grep pcm
hw.snd.pcm0.buffersize: 4096        
hw.snd.pcm0.vchans: 1       
hw.snd.pcm0.spdif_enabled: 0
dev.pcm.0.%desc: Creative CT5880-C
dev.pcm.0.%driver: pcm            
dev.pcm.0.%location: slot=14 function=0
dev.pcm.0.%pnpinfo: vendor=0x1274 device=0x5880 subvendor=0x1274 subdevice=0x200
0 class=0x040100                                                               
dev.pcm.0.%parent: pci0


[edt1023@lgj ~/tmp]$ mplayer WqvGjUfYhMs.flv
AO: [oss] 22050Hz 2ch s16le (2 bytes per sample)

[edt1023@lgj ~]$ mpg321 -o oss seashore.mp3

沒錯呀!同時發聲,兩邊都能正確的演奏(唱)。

ps.我當然是沒有使用 esd/kde 的音效。

caleb
2 音效
Promote 0 Bookmark 02007-12-20quote  

LGJ
我記得以前在 linux 時,是使用 oss,這樣無法同時發聲

Linux 支援硬體混音很久了,現在很少人需要 esd / aRts

想來 FreeBSD 也是一樣。

本人已不在此站活動
3
Promote 0 Bookmark 02007-12-20quote  

問題是我這張音效卡在 linux 下還是沒有辦法同時播放呀!因為是相同的機器在比較的。

site admin
4
Promote 0 Bookmark 02007-12-20quote  

linux 現在好像是用 ALSA dmix,應該不算硬體 mix。

Tetralet
5
Promote 0 Bookmark 02007-12-21quote  

我有一台上個世紀的電腦,它的顯示卡的 RAM 只有 1MB,但用 ALSA 還是有混音功能。所以我想,即使不支援硬體混音,ALSA 似乎也有自己的混音功能。

本人已不在此站活動
6
Promote 0 Bookmark 02007-12-21quote  

有 alsa 是沒問題。我目前是 esd/kde/alsa 都沒在用,突然被我發現在 fbsd 裡頭能有硬體混音的功能。微笑

本人已不在此站活動
7
Promote 0 Bookmark 02007-12-21quote  

呃,跟據 champ 的說明,這只是 fbsd kernel 裡頭有實作了類似 alsa 的功能,其實還是軟體混音,而不是硬體混音。

hw.snd.maxautovchans 是系統會動態分配virtual channels的最大數目
hw.snd.pcm%d.vchans  是目前系統配置的virtual channels的數目


cht電腦資訊BSD
adm Find login register
views:19337