PC揚聲器的聲音驅動仿真

PC揚聲器的聲音驅動仿真

我目前正在使用 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

  1. 確保pcspkr模組已加載lsmod | grep pcspkr,如果沒有看到,請加載它

    sudo modprobe pcspkr
    

    這將公開一個設備文件/dev/input/by-path/platform-pcspkr-event-spkr

  2. 確保您的群組可以寫入上面公開的設備檔案 ( ls -lah)。在 Ubuntu 上它屬於input,為此你必須運行類似的東西

    usermod -aG input "$USER"
    
  3. 現在,登出並重新登入

  4. 透過執行來驗證您是否處於正確的群組中groups,這將告訴您的使用者屬於哪些群組

確認設定成功

從現在開始,您只需執行以下操作,

  1. 運行modprobe pcspkr,您每次都必須執行此操作或pcskr從黑名單中刪除,以便在啟動時添加它。我只是運行它我啟動虛擬盒子。
  2. 運行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 相容設備。

相關內容