我正在寫一個跨平臺的程序,它顯示一個計時器或者向上或向下計數到一個用戶設置的時間間隔。在這段時間結束時,我想播放聲音。我以爲使用類似的東西:我錯過了什麼,以停止在我的Mac 10.5.8(使用MonoDevelop 2.8.8.2)上發出嘟嘟聲?
System.Media.SystemSounds.Beep.Play();
會工作。除了我的Mac上沒有播放聲音,我沒有任何跡象表明失敗。當我用一個「按鈕」寫了一小段測試代碼來觸發「嘟嘟」聲音時,它沒有播放。不過,上面的代碼片段在我妻子的Windows Vista機器上工作正常(也使用MonoDevelop 2.8.8.4)。具有諷刺意味的是,它也適用於沙盒的Ubuntu 12.04 linux(MonoDevelop 2.8.6.3),我通過VirtualBox在我的Mac上進行了沙盒處理。
我環顧四周,在互聯網上,但我找不到任何令人滿意的答案這個難題。讓我再次提出這個問題。 「阻止我的Mac在我的Mac上播放我的程序中的」Beep「聲音,但在同一個Mac上的沙盒Linux沒有問題播放聲音?」
感謝您的任何幫助。
謝謝,這有助於很多。我想這也解釋了我在Mac上使用System.Media.SoundPlayer時遇到的問題!至於平臺不可知的聲音API,我可能會追逐。我也玩弄了用ALSA做點什麼的想法......我知道這與Linux內核有關,但也許有一些東西在那裏。看起來在MonoDevelop下的Mac上使用聲音工作時,缺少某種橋樑。 –
OpenAL可能只是作爲一個可用於許多平臺的API來實現的技巧。 CHEERS –
確認,「Display.Beep()」在我的Mac上正常工作,我沒有任何理由認爲它不適用於我的其他機器。 –