의 decodeAudioData
을 mp3 파일에 사용하면 AudioBuffer
이됩니다. 이 오디오 버퍼로, 나는 getChannelData()
에 의해 반환 된 데이터를 사용하여 캔버스에이 mp3 파일의 파형을 그립니다.AudioStream의 "getChannelData()"는 MediaStream (또는 MediaStreamAudioSourceNode)과 동일합니까?
이제 동일한 코드를 사용하여 MediaStream
의 오디오 데이터 파형을 그려야합니다. 즉, 동일한 종류의 입력/데이터가 필요합니다. 나는 MediaStream
실시간 정보가 들어 알지만, 인 PCM 데이터
를 포함하는 MediaStream
로 Float32Array에서 각각의 새로운 데이터에 액세스 할 수있는 방법이 있어야 무엇
은 내가AudioBuffer
의getChannelData
보고.MediaStreamAudioSourceNode
으로MediaStream
을 포장하고 (AFloat32Array
를 반환하는)getFloatFrequencyData()
를 사용하는AnalyserNode
로 먹이려고했는데, 나는 데이터가 내가getChannelData()
에서 얻는 데이터는 다른 알 수 있습니다. 어쩌면 "PCM"데이터가 아닐까요? "PCM"데이터는 어떻게 얻을 수 있습니까?바라건대 이것은 분명합니다. 도와 주셔서 감사합니다!
getFloatTimeDomainData()'getFloatTimeDomainData()'가 캔버스의 파형을 그릴 때 얻는 결과와 같이 'getChannelData()'와 같은 종류의 데이터를 반환하지 않는 것 같습니다. 두 배열이 모두 같은 데이터를 나타내며 같은 방식으로 구성되어 있습니까? – maximedupre
MediaStream에 여러 채널 (스테레오, 말)이있는 경우, 'AnalyserNode'는 이들을 모노로 믹스합니다. MediaStream 데이터를 분리해야합니다 (ChannelSplitterNode를 사용하여 원하는 트랙을 가져 와서 분석기로 보냅니다.) –
@ RaymondToy 저를 구해준 Raymond에게 감사드립니다. ,이 추가 정보를 포함하도록 답변을 업데이트 할 수 있습니까? – maximedupre