亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

VolumeMixer 名稱策略

VolumeMixer 名稱策略

C#
慕森王 2021-10-24 16:52:12
使用 WASAPI 后,我無法理解使用 sndvol32(音量混合器)顯示進程名稱的策略是什么。顯然“0” processId 是系統聲音然后,我可以獲得一些提示: - 如果您在 AudioSession 中設置 DisplayName,它將使用顯示名稱。- 如果不是,則使用窗口名稱或 exe 的 FileDescription 字段。我無法理解如何選擇使用窗口名稱或文件描述。例如,對于 Steam,即使 Steam 窗口打開(主窗口標題為“Steam”),它也會使用“Steam 客戶端引導程序”。對于 Spotify 總是使用 MainWindow Title 字段。還有一些其他問題,例如:系統應用程序(如屏幕鍵盤)何時使用清單文件中設置的名稱。是亂七八糟的,太不協調了。有誰更準確地知道它是怎么做的?有關更多信息,我在 c# 中為所有 COM 接口系列使用我自己的自定義包裝器(類似于 NAudio 和其他人,但我不想自己構建它來學習)
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

最后我會得到一個滿意的答案。

SndVol32.exe (VolumeMixer) 有點亂?;竟ぷ魇牵?/p>

  1. - 如果在組的隨機選擇會話中設置 DisplayName(相同分組參數),則選擇并顯示 DisplayName。

  2. - 如果沒有,它會顯示主窗口標題并正在監聽更改(有問題)。

  3. - 如果沒有窗口 (HWnd=0x0),則顯示進程的 MainModule 文件的 ProductName。

還有一件事!

這不適用于 UWP 應用。對于 UWP Apps sndvol 實現讀取 Appxmanifest.xml 的“DisplayName”,即使是資源引用(示例<DisplayName>ms-resource:......</DisplayName>

還有一件事!

SndVol32 偵聽 MainWindowTitle 更改(wineventhooks?winhooks?沒關系)但不偵聽最小化到托盤或從托盤事件重新規范化的窗口(示例):

  • 如果您在 Spotify 打開的情況下打開 VolumeMixer 窗口,它將顯示歌曲的名稱(主窗口標題)。

  • 如果您關閉托盤,它將顯示上一首播放的歌曲的名稱,但在您再次打開窗口之前不會再次更改

  • 如果您從托盤停止播放,它將僅顯示“Spotify”(產品名稱)。


查看完整回答
反對 回復 2021-10-24
  • 1 回答
  • 0 關注
  • 173 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號