簡體   English   中英

檢測按下鍵盤上的“下一首曲目”按鈕?

[英]Detect press of “next track” button on keyboard?

我希望能夠檢測到用戶鍵盤上的“下一首曲目”、“上一首曲目”和(如果適用)“隨機播放”按鈕的時間。 這甚至可能嗎? 謝謝!

實際上,現在可以使用瀏覽器提供的媒體會話功能來實現這一點。 普通鍵盤事件通常不支持鍵盤中的播放器控制按鈕。 這是mozilla 文檔中的一個示例:

 if ('mediaSession' in navigator) { 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('seekbackward', function() { /* Code excerpted. */ }); navigator.mediaSession.setActionHandler('seekforward', function() { /* Code excerpted. */ }); navigator.mediaSession.setActionHandler('previoustrack', function() { /* Code excerpted. */ }); navigator.mediaSession.setActionHandler('nexttrack', function() { /* Code excerpted. */ }); }

請注意,並非所有瀏覽器都支持此功能。

如果你知道關鍵代碼,你就可以。 雖然並非所有鍵盤都會有它,或者可能會有所不同。 (猜測)

通過執行此操作並按一個鍵來查看鍵碼:

$(window).keydown( function(event){ console.log(event.keyCode); } );

當您擁有代碼時,您可以在按下該鍵時處理該事件。

小提琴: http : //jsfiddle.net/JyKMN/

我似乎無法找到 shuffle keyCode ,但這捕獲了快進和快退......必須有比這個 IMO 更好的方法來做你想做的事情。

$('#capture').on('keydown',function(e){
    switch (e.which) {
        case 176:
            alert('Fast Forward');
            break;
        case 177:
            alert('Rewind');
            break;
        default:
            alert('Neither FF or rewind was pressed');  
            }      
});

演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM