Anonym-tsk / MMM-YouTube

MagicMirror module for youtube player with runtime configuration and controllable by notification.
MIT License
14 stars 4 forks source link

유듀브 재생 중 종료 방법 문의 #1

Closed hongsee4 closed 4 years ago

hongsee4 commented 4 years ago

안녕하세요 스마트미러는 다양한 용도로 잘 활용하고 있습니다. 우선 감사드립니다.

문의사항은 스마트미러로 유튜브 실행 중 유튜브 재생 종료 또는 일시정지하는 방법이 있을까요?

eouia commented 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 참조하시구요.

일단은 이게 질문의 직접적인 대답인데,

아마 원하시는 건, "어떻게 해야" 저게 가능해지는가까지이겠지요. 이건, 매직미러 컨트롤을 위해 어떤 입력도구를 쓰고 계시냐에 따라 달라서.

hongsee4 commented 4 years ago

해당내용을 config.js에 작성하여 실행했는데 오류가 생기네요. cofig 파일에 작성하는 게 아닌가요?

eouia commented 4 years ago

네. 아닙니다. 애초에 config.js는 configuration이라서 MM이 최초 로딩될 때 설정값을 정의하는데 쓰입니다. 실행 중 유튜브 재생과는 아무 관계가 없지요. 유튜브 재생 중 종료.. 를 물어보셨는데, 애초에 유튜브 재생의 종료라 함은 왜 필요한건가요? 그리고 유튜브 재생을 종료해야한다는 순간은 뭘로 결정하시는 건가요? 뭐. 10초 재생했으면 자동으로 종료.. 이런 건가요? 아니면 방에 사람이 누가 들어오면 종료되는 건가요? 어떤 방법으로 "지금 유튜브를 종료해라"라는 걸 MM에게 입력하실 건가요? 터치스크린? 음성제어? 별도의 하드웨어 버튼? 모션감지? 적외선 센서? 랜덤? 시간이 지나면 자동으로? 리모트 컨트롤러? 연결된 키보드나 마우스로?

hongsee4 commented 4 years ago

유튜브로 음악을 틀면 한시간 가량 되는 것들이 있는데 듣다가 중간에 음성으로 끄고 싶습니다.

eouia commented 4 years ago

그렇다면, 매직미러에서 음성을 입력받을 수 있는 모듈을 설치하셔야 하구요, (제법 많습니다.) 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로 등록되어 있어야 하고, 개인용 핫워드로 변경하시려면 제작방법 등은 역시 해당 문서에 들어있습니다.

hongsee4 commented 4 years ago

말씀하신 것 처럼 "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"} }, } } }, },

eouia commented 4 years ago

전체 config을 보여주세요. 그리고 MMM-AssistantMk2를 사용하고 계신 중인가요?

eouia commented 4 years ago

원인을 알았네요. stopVideo 명령 대신 pauseVideo 명령을 사용해주세요.