Комментарии 26
> Необходимо понимать, что если Yandex изменит название класса, то в applescript его тоже необходимо будет поменять
Для таких целей там есть Mu.ExternalAPI
Для таких целей там есть Mu.ExternalAPI
Думаю надо гуглить в сторону Powershell
А зачем под Windows так извращаться? Там есть отличное UWP приложение + AutoHotkeys.
Ну и в хроме есть как минимум два экстенжна для Яндекс.Музыки с настраиваемыми хоткеями.
Ну и в хроме есть как минимум два экстенжна для Яндекс.Музыки с настраиваемыми хоткеями.
ссылки на экстенжи пожалуйста
Все действительно так, но Chrome похоже имеет ограничение на назначение глобальных горячих клавиш. На работе я назначил для паузы комбинацию ⌘ + PrtScn. В Chrome у меня не получилось подобное…
А вы точно сделали горячую клавишу глобальной?

Windows 10, Chrome 62, «Ctrl + →» работает как из браузера, так и с рабочего стола, например.
Хотя, возможно это особенность OSX.

Windows 10, Chrome 62, «Ctrl + →» работает как из браузера, так и с рабочего стола, например.
Хотя, возможно это особенность OSX.
Как автор расширения «раз» из комментария выше, могу сказать, что пользователи часто жалуются что то или иное сочетание клавиш хром не видит, на что я рекомендую любым удобным средством преобразовывать сложные по мнению хрома сочетания в что-то более удобоваримое и далее уже это сочетание назначать в хроме. Но это, конечно, не удобно…
document.querySelector('.player-controls__btn_next').click();
Зачем так сложно? Там же есть externalAPI.
externalAPI.next();
В том же хроме откройте консоль, там даже externalAPI.help есть для этого.
Спасибо, не знал.
Если через консоль вызывать то все ок. А если из AppleScript то
не знаю точно из за чего, но могу предположить, что при execute тот скрипт который мы вызываем не получает доступ к окружению скрипта от Yandex.Music
Uncaught ReferenceError: externalAPI is not defined
не знаю точно из за чего, но могу предположить, что при execute тот скрипт который мы вызываем не получает доступ к окружению скрипта от Yandex.Music
Почитайте это https://bugs.chromium.org/p/chromium/issues/detail?id=543437. Выполнение кода намерено сделано изолированным. Так понимаю, одно из решений основанных на использовании Omnibox делает активным вкладку, что неприемлемо.
А вот это расширение смотрели? Там есть инструкция как настроить горячие клавиши.
https://yandex.ru/support/music/extension.html
Велосипеды это хорошо, но можно же использовать готовые решения: chrome.google.com/webstore/detail/streamkeys/ekpipjofdicppbepocohdlgenahaneen?hl=en
Принцип работы точно такой же, но в основе хромовское расширение.
ПС: глобальные хоткеи работают, их можно переопределить в настройках расширения.
Принцип работы точно такой же, но в основе хромовское расширение.
ПС: глобальные хоткеи работают, их можно переопределить в настройках расширения.
Можно было просто поставить Karabiner Elements и замапить нужные хоткеи как медиа клавиши
У вас ошибка в итоговом скрипте, лишняя точка в
И да, с
of _w.
И да, с
externalAPI.togglePause()
в сафари работает.Любителям автоматизации в макоси рекомендую не забывать о Hammerspoon.
Обернул в electronjs используя github.com/jiahaog/nativefier, добавил media keys. Держите рабочую версию github.com/m8rge/yandex.music. Есть планы обернуть, используя голый electronjs.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Управление плеером Yandex.Music в OSX, используя клавиатуру без медиа клавиш