Closed DK-J closed 4 years ago
MMM-AssistantMk2에서, YouTube 링크가 리턴될 때 MMM-YouTube를 구동시키도록 하는 recipe를 사용하시거나, 직접 만드셨나요?
config.js의 MMM-AssistMk2와 MMM-Youtube 모듈을 아래와 같이 설정해주시고 { module: "MMM-AssistantMk2", position: "top_bar", config: { debug: true, ui: "Classic2", recipes: ["with-MMM-Hotword.js", "with-MMM-Youtube.js"], responseConfig: { useScreenOutput: true, }, profiles: { "default": { profileFile: "default.json", lang: "ko-KR" }, }, },
},
{ module: "MMM-YouTube", position: "fullscreen_above", config: { defaultQuality: "default", showPlayingOnly: true, }
},
MMM-AssistnatMk2 모듈 내의 recipe에서 with-MMM-Youtube.js를
/ MMM-Youtube commands addon / / modify pattern to your language / / for STOP_YOUTUBE / / @bugsounet /
var recipe = { transcriptionHooks: { "STOP_YOUTUBE": { pattern: "유튜브 정지", command: "STOP_YOUTUBE" }, "EXIT_YOUTUBE": { pattern: "유튜브 종료", command: "EXIT_YOUTUBE" }, "SEARCH_YOUTUBE": { pattern: "유튜브 (.*)", command: "SEARCH_YOUTUBE" } }, responseHooks: { "PLAY_YOUTUBE": { where: "links", pattern: "https:\/\/m.youtube.com\/watch\?v=(.+)$", command: "PLAY_YOUTUBE" }, "PLAYLIST_YOUTUBE": { where: "links", pattern: "https:\/\/m.youtube.com\/playlist\?list=(.+)$", command: "PLAYLIST_YOUTUBE" } },
commands: { "PLAY_YOUTUBE": { moduleExec: { module: "MMM-AssistantMk2", exec: (module, param, from) => { module.sendNotification("YOUTUBE_LOAD", {type: "id", id: param[1]}) } }, soundExec: { chime: "open" } }, "PLAYLIST_YOUTUBE": { moduleExec: { module: "MMM-AssistantMk2", exec: (module, param, from) => { module.sendNotification("YOUTUBE_LOAD", {type: "playlist", listType: "playlist", id: param[1]}) } }, soundExec: { chime: "open" } }, "SEARCH_YOUTUBE": { moduleExec: { module: "MMM-AssistantMk2", exec: (module, param, from) => { module.sendNotification("YOUTUBE_LOAD", {type: "playlist", listType: "search", id: param[1]}) } }, soundExec: { chime: "open" } }, "STOP_YOUTUBE": { moduleExec: { module: "MMM-AssistantMk2", exec: (module, param, from) => { module.sendNotification("YOUTUBE_CONTROL", {command: "pauseVideo"}) } }, soundExec: { chime: "close" } }, "EXIT_YOUTUBE": { moduleExec: { module: "MMM-AssistantMk2", exec: (module, param, from) => { module.sendNotification("YOUTUBE_CONTROL", {command: "stopVideo"}) } }, soundExec: { chime: "close" } }, "MUTE_YOUTUBE": { notificationExec: { notification: "YOUTUBE_CONTROL", payload: () => { return { command: "mute" } } } }, "UNMUTE_YOUTUBE": { notificationExec: { notification: "YOUTUBE_CONTROL", payload: () => { return { command: "unMute" } } } }, }, plugins: { onBeforeActivated: "MUTE_YOUTUBE", onBeforeAudioResponse: "MUTE_YOUTUBE", onAfterAudioResponse: "UNMUTE_YOUTUBE", onAfterInactivated: "UNMUTE_YOUTUBE" } }
exports.recipe = recipe // Don't remove this line.
이렇게 수정하면 "유튜브 방탄소년단"으로 유튜브 플레이가 가능 합니다. 다만 검색결과가 정확하지 않아서 방탄소년단 인터뷰 같은게 나올 수 있어요.
참고로 플레이리스트형식으로 출력되서 정상적으로 종료를 못합니다. (stopVideo 오류로 인해 플레이리스트 전체 종료 방법이 없습니다.)
마우스로 유튜브 플레이어 모듈을 클릭하면 일시정지 마크가 뜨면서 플레이리스트가 종료 되긴하는데 목소리로만 컨트롤 하고자 한다면 방법이 없습니다.
그럼
"yotube에서 방탄소년단 노래들려줘" 명령어를 실행했을 때, youtube 링크만 화면에 공유되며, 클릭도 되지 않습니다.
이 문제는 해결되신 거고,
플레이리스트형식으로 출력되서 정상적으로 종료를 못합니다.(stopVideo 오류로 인해 플레이리스트 전체 종료 방법이 없습니다.)
이거만 해결하시면 되나요? 어차피 종료라는 게 의미가 없어서, stopVideo 대신 pauseVideo 쓰면 되실텐데요.
MMM-AssistantMk2에서, YouTube 링크가 리턴될 때 MMM-YouTube를 구동시키도록 하는 recipe를 사용하시거나, 직접 만드셨나요?
MMM-AssistantMk2 에서 구동시키는 recipe를 사용하지 않아서 동작을 하지 않았던것 같습니다. eouia님과 아랫분 댓글을 참고하여 유튜브 재생이 가능하네요! 감사합니다.
다른 내용들도 궁금한점이 있으면 물어보겠습니다.
eouia님의 최신 MMM-Hotword와 AssistantMk2 를 잘 참조하여 매직미러2를 완성하였습니다. 좋은 정보 올려주셔서 감사합니다. google assistant와 calendar 연동도 잘 되고 있습니다.
저의 초기 목적인 google assistant를 사용하여 youtube 혹은 다른 platform을 통해 노래를 들으려하는 목적이 잘 이뤄지지 않아 글을 쓰게 되었습니다.
MMM-Youtube를 사용하기 위해서 wiki에 있는 내용대로
cd ~/MagicMirror/modules git clone https://github.com/eouia/MMM-YouTube
Installation을 하였고,
MagicMirror config.js 파일에 simple version module화를 진행하였습니다. { module : "MMM-Youtube", position: "top_right" },
결과 ---------
"yotube에서 방탄소년단 노래들려줘" 명령어를 실행했을 때, youtube 링크만 화면에 공유되며, 클릭도 되지 않습니다.
현재 log는 no helper found for module: MMM-Youtube. All module helpers loaded. 로 나와있구요
MagicMirror/Module 안에 MMM-Youtube 파일은 잘 설치되어있는 상태입니다.
어디가 문제일까요...?