새로운 것을 꿈꾸는 개발자 입니다.
Khóa học
Đánh giá khóa học
Bài viết
- Hỏi & Đáp - 오디오 Input -> Speaker 출력 Noise - 안녕하세요.저의 강의에 관심을 보여주셔서 감사드립니다. 각종 필터도 사용하시고, 오디오 재생 시에는 직접 버퍼를 사용하시는 것으로 보이네요.저의 강의에는 Raw 미디어 데이터를 다루기 보다는, 미디어를 다루는 기본적인 내용과 함께 MediaStream 클래스를 기반으로 관련 클래스 혹은 인터페이스의 메서드를 소개해 나가는 강의라고 보시면 됩니다.강의 내에서는 해당 문제의 답을 찾기에는 아마 기초적인 내용이라고 여기실 가능성이 커 보입니다. 다만, 강의 내용과 별개로 보여주신 소스의 제일 처음의 audio 속성에 할당하는 객체는 아마도 오디오를 얻기 위해 사용한 Constraints 인 듯한데, echoCancellation 의 값도 일단은 false로 놓고, 각종 필터들도 제거한 상태에서 먼저 테스트 해보기를 권장 드립니다.만약 오디오 재생에 버퍼를 사용하는 특별한 이유가 없다면 MediaStream 객체 단위에서 다루고, WebRTC를 사용하여 전송하는 기본적인 방법의 사용도 권해 드립니다. WebRTC는 오디오, 비디오 전송에 편리하도록 만들어져 있기 때문이며 성능과 안정성도 뛰어납니다.다른 곳에서는 인식이 되는 raw 데이터(AudioBuffer에 사용하는)라고 하더라도 웹 상의 AudioBuffer에서 사용하는 데이터와는 다른 형태일 수도 있습니다. (보통 input 쪽의 decodeAudioData를 통해 추출한 데이터를 사용합니다.) raw 데이터를 직접 다루는 것은 정말 난이도가 높은 작업이라고 생각합니다. 하지만, 지금 보여주신 소스 코드 기준으로 한 가지 말씀드리고 싶은 것은 있습니다.playNextChunk 함수는 아마도 반복적으로 호출되는 함수로 보여집니다. 만약 그렇다면 playNextChunk 함수에서 생성하는 AudioBufferSourceNode(createBufferSource를 통해 생성한)가 계속해서 AudioContext의 destination에 연결되는 듯 보입니다. 즉, 여러 개의 Source가 반복해서 연결되는 것 처럼 보입니다.이전에 사용한 Source가 있다면 disconnect 한 후 새로 생성한 Source 를 연결해 보시기 바랍니다. 저의 의견이 도움이 되었길 바라며, 진행하시는 프로젝트를 성공적으로 마무리하시길 기원하겠습니다.감사합니다. - 0
- 1
- 27
 
- Hỏi & Đáp - 안녕하세요 8장 학습하다 궁금한게 있어 질문드립니다. - 안녕하세요.MediaStream API 에서 MediaStream을 요청하는 것은 카메라 및 마이크 하드웨어를 사용하는 것으로, 다양한 이유에서 예외가 발생할 수 있습니다. 이번에 문의 주신 NotReadableError : Device in use 의 경우에는 해당하는 장치가 이미 다른 곳에서 사용하고 있어 지금은 사용이 힘들 경우 발생합니다.기본적으로는 다른 프로세스가 이미 카메라 혹은 마이크를 독점적으로 권한을 얻어 사용하는 경우에 발생할 수 있습니다. 주로, 웹이 아닌 어플리케이션의 형태를 취하는 화상회의 시스템이 이러한 경우가 있었음을 종종 관찰하였습니다.보통 웹의 경우 이렇게 독점적으로 장치의 권한을 얻어 사용하지 않지만, MediaStream의 해제 없이 계속적으로 요청하여 사용하는 경우에도 발생하는 경우가 있습니다.흔하지는 않지만, 요청을 한 시점의 일시적인 하드웨어의 문제로 인하여 발생하는 경우도 있습니다. 보통은 카메라 혹은 마이크의 권한을 갖고있는 프로그램 혹은 웹 브라우저를 종료하고 다시 시도하면 보통의 경우 대부분 요청에 성공할 것 입니다.실제 이러한 예외가 발생할 수 있음을 알고 계셨다가, 실제 프로젝트 적용 할 때의 대응 방안을 고민해 보시는 것도 좋아 보입니다. 바로 이러한 내용이 학습자 님만의 고유한 노하우라 불릴 만한 것이니까요. 건강하고 행복한 나날 보내시길 바라면서, 저의 강의에 관심을 주셔서 감사합니다. - 0
- 2
- 63
 




