第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

如何檢測鍵盤按鍵上的點擊事件:播放/暫停 (?/??)、Electron Js 上的下一個和上一個

如何檢測鍵盤按鍵上的點擊事件:播放/暫停 (?/??)、Electron Js 上的下一個和上一個

蕭十郎 2023-07-20 10:51:21
根據(jù)此JavaScript 檢測播放/暫停鍵盤(虛擬)鍵,可以使用 JavaScript 檢測播放/暫停、下一個和上一個(硬件媒體鍵處理)鍵,但僅限于 Chrome。電子中有類似的東西嗎?PS:它是用于音頻播放器的。
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

我正在回答我的問題!將媒體鍵與 EvenListener 一起使用并不是實現(xiàn)此目的的有效方法。并非所有瀏覽器都支持媒體會話 API。

使用媒體會話 API 的示例:

if ('mediaSession' in navigator) {

//setting the metadata

? navigator.mediaSession.metadata = new MediaMetadata({

? ? title: 'Unforgettable',

? ? artist: 'Nat King Cole',

? ? album: 'The Ultimate Collection (Remastered)',

? ? artwork: [

? ? ? { src: 'https://dummyimage.com/96x96',? ?sizes: '96x96',? ?type: 'image/png' },

? ? ? { src: 'https://dummyimage.com/128x128', sizes: '128x128', type: 'image/png' },

? ? ? { src: 'https://dummyimage.com/192x192', sizes: '192x192', type: 'image/png' },

? ? ? { src: 'https://dummyimage.com/256x256', sizes: '256x256', type: 'image/png' },

? ? ? { src: 'https://dummyimage.com/384x384', sizes: '384x384', type: 'image/png' },

? ? ? { src: 'https://dummyimage.com/512x512', sizes: '512x512', type: 'image/png' },

? ? ]

? });


? navigator.mediaSession.setActionHandler('play', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('pause', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('stop', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('seekbackward', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('seekforward', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('seekto', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('previoustrack', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('nexttrack', function() { /* Code excerpted. */ });

? navigator.mediaSession.setActionHandler('skipad', function() { /* Code excerpted. */ });

}

現(xiàn)在對于 Electron,如果您使用最新版本,那么您可能可以使用媒體會話 API(在渲染器進程中),并且在播放 Youtube 視頻時它可以像 chrome 一樣正常工作(您可以播放/暫停、轉(zhuǎn)到下一個和上一個媒體) ...)。但是,當另一個應(yīng)用程序在我們的 Electron 應(yīng)用程序(例如 Chrome)之前開始使用媒體鍵時,我們?nèi)匀粫龅絾栴},這個問題無法使用媒體會話 API 來解決。在 Electron 中,我們有g(shù)lobalShortcut來自 Electron 包的用于設(shè)置快捷方式的示例:


const { app, globalShortcut } = require('electron')


app.whenReady().then(() => {

? globalShortcut.register('Alt+CommandOrControl+I', () => {

? ? console.log('Electron loves global shortcuts!')

? })

}).then(createWindow)

這對于所有快捷鍵都可以正常工作,但對于媒體鍵則效果不佳!原因是因為Linux密鑰默認被竊取dbus,所以我們需要操作系統(tǒng)級別控制(直接與dbus交互的包)。我搜索了它,發(fā)現(xiàn)一些傳入的包(未完成)使用 Linux 的 dbus 來處理媒體密鑰。?


查看完整回答
反對 回復(fù) 2023-07-20
?
動漫人物

TA貢獻1815條經(jīng)驗 獲得超10個贊

應(yīng)該適用于鉻/電子


document.addEventListener('keyup', ({ key }) => { 

  const mediaKey = [

    'MediaTrackNext', 

    'MediaTrackPrevious', 

    'MediaPlayPause', 

    'MediaStop'].includes(key)

    

  mediaKey && console.log(key)

})


查看完整回答
反對 回復(fù) 2023-07-20
  • 1 回答
  • 0 關(guān)注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號