[問題] Windows 7音量淡出淡入如何實作?

看板Programming作者 (dream)時間12年前 (2012/08/15 11:06), 編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
請問在Windows 7有什麼方式可以將其他所有程式的音量淡出 只允許我目前這隻程式發出聲音 等我的程式聲音播放結束後再恢復(淡入)其他程式的音量 大概就類似手機上那種來電時其他背景聲音淡出淡入的功能 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.245.65.182

08/17 07:14, , 1F
如果別的程式是用WSAPI, 則輸出已經被獨佔
08/17 07:14, 1F

08/17 07:14, , 2F
如果是走一般的DS/WaveOut,就有解
08/17 07:14, 2F

08/17 07:14, , 3F
你應該可以自己手動試VolControl的效果
08/17 07:14, 3F

08/17 07:16, , 4F
Google去查一個EndpointVolume API
08/17 07:16, 4F
感謝 我再研究看看 我之前有寫一支TTS(Text-to-Speech)小程式透過Speech API發音 http://zaqimon.blogspot.tw/2012/03/tts-autoit-zqspeak.html 我想要的只是希望TTS在發音的過程中可以讓其他聲音暫時先靜音 ※ 編輯: zaqimon 來自: 1.200.6.88 (08/17 11:24) Default Ducking Experience http://goo.gl/Ie8TR 這就是我要的效果 不過只支援Windows 7 而且要整合進AutoIt似乎還要想想看有什麼好方法 基本上就是開啟communication device並收送資料即可 OS就會自動把其他所有聲音給淡出 收送資料暫停或停止背景聲音就會自動淡入 控制台可設定是否靜音以及靜音50%或80%或完全靜音 ※ 編輯: zaqimon 來自: 180.217.4.68 (08/20 23:14) http://zaqimon.blogspot.tw/2012/03/tts-autoit-zqspeak.html 同樣連結 已更新完成支援淡出淡入 不過缺點是只有Windows 7可以用 ※ 編輯: zaqimon 來自: 60.245.65.182 (08/24 14:38) 還是有缺點 例如Skype麥克風就無法使用似乎被我的程式給占走了 就算控制台勾選不允許應用程式獨佔裝置依然無效 音樂播放器的歌曲換下一首時聲音又自動跑出來 除非是用Windows Media Player這種會針對ducking暫停播放處理的程式 不然就要看看如何能夠不間段的播放靜音來模擬 但之前用別人寫的範例程式可以loop播放wav檔案 在我的電腦上loop之後會出現高頻雜音 我猜是因為不斷的waveOutOpen/Close會有問題吧 但是走WASAPI及DirectShow的控制方式又太複雜了 AutoIt光call dll就很累了更何況是call COM元件 ※ 編輯: zaqimon 來自: 1.200.20.38 (08/25 23:24)
文章代碼(AID): #1GAn8mBD (Programming)