보이스 오버를 통한 자막 출력 오류 보고



  • 우선 기능 요청을 받아들여 주셔서 감사합니다.
    하지만 미리 가타부타 말씀은 좀 주시지 그러셨어요.
    안 넣어주실 줄 알고 코덱 공부하고 있었습니다.

    기능은 원하는대로 잘 동작하지만 개발자가 아닌 저로서는 예상하지 못한 문제가 있어 이렇게 다시 글을 적게 되었습니다.
    자막 출력 시에 음성 처리가 이루어지는 것은 좋은데,
    문제는 nPlayer가 백그라운드 모드로 들어갈 경우 자막 처리를 아예 안 하도록 처리하시는 것 같습니다.
    그리하여 보이스 오버를 통한 자막 내용 음성 출력도 되지 않습니다.

    정안인의 경우 백그라운드에서 자막을 보지 않게 되는 것은 당연하지만,
    귀로 자막을 들어야 하는 입장에서는 백그라운드에서 자막 처리가 이루어지지 않는다는 것은 결여이고 모순입니다.
    고로, 백그라운드 모드에서도 보이스 오버를 통한 자막 내용 음성 출력이 이루어지도록 수정 부탁드립니다.

    감사합니다.

    p.s: nPlayer만한 플레이어 없는 거 아시죠?



  • 백그라운드에서는 Voice Over가 동작하지 않는 것으로 확인되었습니다. OS의 제약이기 때문에 백그라운드에서 자막 처리는 불가능합니다.

    Voice Over에 관한 다른 의견이 있으면 언제든지 말씀해주세요. 감사합니다.



  • 또다른 보이스오버 사용자입니다.
    시스템 문제상 어렵다는 운영자님의 댓글도 있었지만, 설사 가능책이 있다 하더라도 백그라운드 재생 시에 자막 내용을 수시로 출력하는 것은 전 반대 입장입니다.
    백그라운드에서는 자막을 듣는 일도 하지만 그 밖에 다른 작업을 하게 될 가능성도 있습니다.
    그런데 특별한 옵션이 없는 상태에서 백그라운드에서까지 자막을 읽게 된다면 다른 조작을 하는데 상당한 방해 요소가 될 것으로 보여집니다.

    물론 보이스오버 사용자 특성 상 배터리 절약을 위해 화면 잠금 상태 혹은 백그라운드에서 동영상을 재생하는 경향이 있다는 것도 잘 알지만, 여러 상황을 고려했을 때 현재 상황으로 가는 것이 맞지 않나 생각합니다.



  • VoiceOver 제어가 비활성 상태에서 안 된다면 AVSpeechSynthesizer를 사용하면 됩니다.
    사실 AVSpeechSynthesizer로 애초 기능 요청을 하려고 했는데 조금이라도 번거로우면 기능 요청을 받아들이지 않으실까봐 VoiceOver 제어로 요청드린 것입니다.
    AVSpeechSynthesizer가 사용 상에 몇 가지 이슈가 있는데 개인적으로 연락 주시면 상세하게 설명드리겠습니다.

    그리고 이치에 맞지 않은 이야기가 있어 피곤함을 무릅쓰고 반박하겠습니다.
    VoiceOver 간섭 현상이 문제라면 플레이어가 활성 상태든 비활성 상태든 문제가 되는 건 마찬가지입니다.
    플레이어 활성 상태에서도 문자, 메신저, 시스템 알람 등의 중요한 이벤트가 발생하는 것은 너무나 당연한데 그 와중에 자막을 읽느라고 VoiceOver 간섭이 일어나면 이벤트 내용을 들어야하는 입장에선 불편한 것은 마찬가지죠.
    플레이어 활성/비활성 상태를 분리하여 VoiceOver 간섭 현상의 유/불리를 판단하는 것은 굉장히 이치에 맞지 않습니다.
    그리고, 시각장애인 사용자 입장에서 자막이 나오는 영상을 귀로 듣다가 다른 중요한 용무가 있어 다른 작업으로 이동했다면 계속 영상을 재생 상태로 놓고 있을까요?
    영상을 재생/정지하는 것은 플레이어가 활성 상태이든 아니든간에 두 손가락 이중 탭 제스처나 리모트 컨트롤로 아주 손쉽게 가능합니다.
    다른 중요한 작업을 위해 의도적으로 nPlayer를 벗어나서 자막이 함께 들리는 영상을 굳이 계속 재생 상태로 유지하고 간섭이 일어나서 불편하다고 가정하는 것은 굉장히 억지스럽습니다.
    자막이 없는 영상이나 음악 재생의 사용 패턴과 개념이 충돌하시는 건 아닌지 의아할 따름입니다.

    설령 나는 죽어도 자막이 함께 들리는 영상 재생을 중지학지 않고 다른 용무를 보겠다하는 시각장애인 사용자가 있다 하더라도 이익균형을 따져보면, 더 말이 필요 없겠죠?
    어차피 AVSpeechSynthesizer로 변경하면 VoiceOver 간섭 현상은 일어나지 않습니다.
    고로 불필요한 논쟁 끝.



  • 의견 잘 보았습니다.
    님의 반박 글을 보고 저 역시 AVSpeechSynthesizer로 출력하게 된다면 오디오 더킹 기능으로 인해 tts 간섭 문제는 어느정도 해결할 수 있으리라 생각했습니다만...
    아이폰의 경우 잘 아시겠지만 두개의 미디어 재생을 동시에 사용할 수 없습니다.
    AVSpeechSynthesizer 을 사용하게 될 경우 이를 통해 재생되는 tts 음원은 하나의 미디어로 처리됩니다.
    국장에서의 드림 앱이나, 액스비젼에서 개발한 리드애니의 사례를 참고하면 확실한 예가 될 것입니다.
    이런 앱이 띄워진 상태에서 다른 플레이어를 통한 음원재생기능을 동시에 사용할 수 없는 것이 좋은 예죠.
    고로 이 역시도 동시 사용이 불가능합니다.
    아이폰에서 두개의 미디어 음원을 동시에 사용하는 것 자체가 불가능한 고로, 아이폰에선 이미 미디어 음량을 n플레이어에서의 아웃풋 채널로 사용하고 있기 때문에... 불가능하단 거죠.
    그리고 님이 말씀하신대로 AVSpeechSynthesizer 로 출력이 설사 가능하다 해도 현재 nplayer에는 수많은 설정이 있습니다.
    AVSpeechSynthesizer 로 출력하게 되면 별도의 음성 속도 및 고저, 심하게는 각 언어를 어떤 tts로 읽도록 해야할지 구성해야 하는 요구사항도 들어갈 수 있게 해달라는 요구가 분명 발생할텐데, 이는 사용자 입장에서, 또는 개발자 입장에서도 좋은 방법이 아니란 생각입니다.
    현재 설정대로 이용할 시, 보이스오버의 설정 상으로 대부분의 읽기 설정이 보이스오버에서 가능한데 굳이 안그래도 메뉴 구조가 복잡한 nplayer에 메뉴가 추가되어 사용성이 떨어지는게 좋은 방법인지 전 납득이 잘 안가네요!
    뭐 일단 사용할 수 없는 기능을 가지고 더 이야기하는 것도 머리아픈 일이니 이만 줄이도록 하죠.



  • 많이 용감하신 것 같습니다.
    AVSpeechSynthesizer를 쓰면 미디어랑 동시에 출력이 안 된다고요?
    하하하하하하하하하하하하하하하하하하하하하하하하하하하하하하하하하

    어느 정도 파워 유저이신지는 몰라도 어쩜 그렇게 사용 상의 경험적 판단으로 어쩜 그리 당당하게 안 된다고 말씀하실 수 있는 것인지...
    사실 관계 하나 하나 다 따져가며 글을 적는 저로서는 그저 신기할 따름입니다.

    AVSpeechSynthesizer의 동작과 오디오 세션 카테고리 상의 설정은 관계가 없습니다.
    TTS를 제어하는 앱이 어떤 오디오 카테고리로 TTS 재생을 다루느냐에 따라 이전 미디어가 정지되거나 하는 것입니다.
    에효~

    나머지 얘기는 참 대꾸하기도 민망합니다.
    반대를 위한 반대는 그만 하시지요.
    자꾸 억지 주장만 하시게 되니 안타깝네요.

    절충적으로 기능을 발전시켜가면 되는 것 아닌가요?
    정상까지 가는 길이 험난할지 모르니 산 근처에도 가지 말자는 분은 그냥 있으세요.
    저는 개발자분들께 지름길까지 안내하며 정상까지 갈 겁니다.
    어차피 님도 업데이트 하실 거잖아요?

    참고로 AVSpeechSynthesizer 제어는 보이스 오버가 활성화 되어 있을 때 동작시키면 될 것입니다.
    보이스 오버가 켜져 있을 때 TTS로 자막 읽기를 활성화할지 안 할지 정도는 필요하겠죠.
    앞서도 밝혔지만 다른 개발 상의 이슈가 생길 때 물어보시면 언제든 알려드리겠습니다.

    그럼~


Log in to reply