我希望能够检测到用户键盘上的“下一首曲目”、“上一首曲目”和(如果适用)“随机播放”按钮的时间。这甚至可能吗?谢谢!
问问题
1183 次
3 回答
3
实际上,现在可以使用浏览器提供的媒体会话功能。普通键盘事件通常不支持键盘中的播放器控制按钮。这是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. */ });
}
请注意,并非所有浏览器都支持此功能。
于 2020-01-09T09:51:20.780 回答
1
我似乎找不到 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');
}
});
于 2013-05-22T13:31:02.777 回答
1
如果你知道你可以的关键代码。尽管并非所有键盘都有它,或者可能会有所不同。(猜测)
通过这样做并按下一个键来查看键码:
$(window).keydown( function(event){ console.log(event.keyCode); } );
当您拥有代码时,您可以在按下该键时处理该事件。
小提琴:http: //jsfiddle.net/JyKMN/
于 2013-05-22T13:12:11.560 回答