我目前正在使用 Virtual Box 5.2 運行 TempleOS v5.03。我不相信聲音起作用。當我用SHIFT+播放一首神歌F6,或在自動點唱機下播放歌曲時,似乎沒有任何聲音產生。我的 Virtual Box 中必須有什麼配置才能讓聲音正常運作?我的筆記型電腦沒有電腦揚聲器。
它似乎其他人也遇到這個問題
答案1
PC揚聲器的聲音驅動仿真
這僅適用於 Linux。我的聲卡恰好是snd_hda_intel
,該驅動程式實際上可以使用以下參數模擬 PC 揚聲器本身beep_mode
:
beep_mode
:選擇 HDA 蜂鳴註冊模式(0
=關、1
=開)(預設=1
)。 (布林數組)
而且它預設是打開的。
設定和配置
您必須設定一次權限 - 將自己新增到適當的群組中。沒有這個,你會得到一個像這樣的錯誤在你的VBox.log
確保
pcspkr
模組已加載lsmod | grep pcspkr
,如果沒有看到,請加載它sudo modprobe pcspkr
這將公開一個設備文件
/dev/input/by-path/platform-pcspkr-event-spkr
確保您的群組可以寫入上面公開的設備檔案 (
ls -lah
)。在 Ubuntu 上它屬於input
,為此你必須運行類似的東西usermod -aG input "$USER"
現在,登出並重新登入
- 透過執行來驗證您是否處於正確的群組中
groups
,這將告訴您的使用者屬於哪些群組
確認設定成功
從現在開始,您只需執行以下操作,
- 運行
modprobe pcspkr
,您每次都必須執行此操作或pcskr
從黑名單中刪除,以便在啟動時添加它。我只是運行它前我啟動虛擬盒子。 運行
xkbbell
或在xterm
(我不會使用 gnome-terminal、xfce-terminal 或 konqueror 來執行此操作,因為它們可能會吞掉它)printf "\a"
如果您沒有聽到任何聲音,則運行以下命令並重試xset b 100 # or whatever the source control is for the beeper amixer sset Beep 100%
最後,您必須啟用 PC 揚聲器直通,
對於最後一步,您需要從虛擬盒子進階常見問題解答,您可以使用 來執行此操作VBoxManage
。 GUI 還沒有方法來實現這一點。
VBoxManage setextradata "VM name" "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" 100
現在你只需要從現在開始執行以下操作,
就是這樣。現在只需啟動 Virtual box 並啟動 TempleOS。你應該能夠播放神歌。您無需重新安裝 TempleOS。
PC 揚聲器無聲音驅動模擬
我相信這是僅有的假設可以透過兩種方式之一
如果主機作業系統可以虛擬出一個PC音箱,Virtual Box可以通過。我相信PC揚聲器可以透過Virtual Box傳遞在Linux上。我還沒有找到任何可以在主機上模擬 PC 揚聲器並使用類似功能的東西
beep
。如果這可以發揮作用,那麼類似的事情應該可以進行傳遞。來自虛擬盒子進階常見問題解答VBoxManage setextradata "VM name" "VBoxInternal/Devices/i8254/0/Config/PassthroughSpeaker" 100
我在 Unix.SE 上問了一個問題,Pulse Audio 可以模擬虛擬 PC 喇叭嗎?
如果 Virtual Box 可以模擬目前無法做到的 PC 揚聲器,據我所知。
我認為對此沒有解決方案或太多關注,因為即使對於在 PC 揚聲器上使用 PWM 的舊 DOS 系統,對 Sound Blaster 的支援也無處不在,並且 Virtual Box 可以模擬 Sound Blaster 相容設備。