Closed hongsee4 closed 4 years ago
https://github.com/eouia/MMM-YouTube#youtube_control 처럼, stopVideo
커맨드를 YOUTUBE_CONTROL
notification으로 전달하면 됩니다.
this.sendNotification("YOUTUBE_CONTROL", {
command: "stopVideo"
})
가능한 전체 커맨드는 https://developers.google.com/youtube/iframe_api_reference#Functions 참조하시구요.
일단은 이게 질문의 직접적인 대답인데,
아마 원하시는 건, "어떻게 해야" 저게 가능해지는가까지이겠지요. 이건, 매직미러 컨트롤을 위해 어떤 입력도구를 쓰고 계시냐에 따라 달라서.
해당내용을 config.js에 작성하여 실행했는데 오류가 생기네요. cofig 파일에 작성하는 게 아닌가요?
네. 아닙니다. 애초에 config.js는 configuration이라서 MM이 최초 로딩될 때 설정값을 정의하는데 쓰입니다. 실행 중 유튜브 재생과는 아무 관계가 없지요. 유튜브 재생 중 종료.. 를 물어보셨는데, 애초에 유튜브 재생의 종료라 함은 왜 필요한건가요? 그리고 유튜브 재생을 종료해야한다는 순간은 뭘로 결정하시는 건가요? 뭐. 10초 재생했으면 자동으로 종료.. 이런 건가요? 아니면 방에 사람이 누가 들어오면 종료되는 건가요? 어떤 방법으로 "지금 유튜브를 종료해라"라는 걸 MM에게 입력하실 건가요? 터치스크린? 음성제어? 별도의 하드웨어 버튼? 모션감지? 적외선 센서? 랜덤? 시간이 지나면 자동으로? 리모트 컨트롤러? 연결된 키보드나 마우스로?
유튜브로 음악을 틀면 한시간 가량 되는 것들이 있는데 듣다가 중간에 음성으로 끄고 싶습니다.
그렇다면, 매직미러에서 음성을 입력받을 수 있는 모듈을 설치하셔야 하구요, (제법 많습니다.) https://github.com/MichMich/MagicMirror/wiki/3rd-party-modules (여기에서 필요한 모듈을 찾아보세요) 어떤 모듈을 설치하느냐에 따라 방법들이 다 다를 수 있습니다.
멈추는 명령어 하나만 필요하시다면 간단히 핫워드 인식을 사용하시는 게 나을 것 같아서, MMM-Hotword를 예로 들자면; MMM-Hotword를 설치하시고, 사용할 패턴 모델을 등록한 후 (여기까지는 MMM-Hotword 모듈의 github repository의 문서들을 참고하세요 https://github.com/eouia/MMM-Hotword/tree/master/documents) 해당 패턴이 인식되었을 때 실행될 command를 아래처럼 정의하시면 됩니다.
commands: {
"computer": {
notificationExec: {
notification: "YOUTUBE_CONTROL",
payload: {command:"stopVideo"}
}
}
}
이건 이미 등록된 "computer"라는 핫워드가 말해졌을 때 YOUTUBE_CONTROL notification을 발생시키고 command:"stopVideo"
라는 값을 payload로 전달하는 예시입니다. 핫워드는 미리 models로 등록되어 있어야 하고, 개인용 핫워드로 변경하시려면 제작방법 등은 역시 해당 문서에 들어있습니다.
말씀하신 것 처럼 "computer"로 실행을 해보니 유튜브가 종료되지 않고 처음부터 다시 재생이 됩니다. 원인이 뭔지..잘 모르겠네요. { module: "MMM-Hotword", position: "bottom_left", config: { useDisplay: true, //화면에 풍선표 chimeOnFinish: null, recipes: ["with-AMk2v3_smart-mirror.js"], mic: { recordProgram: "arecord", device: "plughw:1", }, models: [ { hotwords : "computer", file : "computer.umdl", sensitivity : "0.5", }, ], commands: { "computer": { notificationExec: { notification: "YOUTUBE_CONTROL", payload: {command: "stopVideo"} }, } } }, },
전체 config을 보여주세요. 그리고 MMM-AssistantMk2를 사용하고 계신 중인가요?
원인을 알았네요. stopVideo
명령 대신 pauseVideo
명령을 사용해주세요.
안녕하세요 스마트미러는 다양한 용도로 잘 활용하고 있습니다. 우선 감사드립니다.
문의사항은 스마트미러로 유튜브 실행 중 유튜브 재생 종료 또는 일시정지하는 방법이 있을까요?