2012-03-17 1 views
1

[편집 :이 질문은 더 이상 지원되지 HTML5 오디오 API 고려되지 않고 모질라 오디오 데이터 API에 관한] 내가하려고HTML5 오디오/모질라 오디오 데이터 API에서 패닝 할 방법

Mozilla 오디오 데이터 API를 사용하여 오디오 파일의 패딩을 변경하십시오. 나는 그렇게 할 방법을 찾지 못했습니다. 심지어 채널을 분리하고 운이없는 다른 dbGain을 사용하여 다른 필터를 통과하려고했습니다.

답변

2

오디오 파일의 균형을 변경하는 열쇠는 데이터 (예 : 스테레오 음악 파일)를 가져 와서 오른쪽 및 왼쪽 채널 데이터의 값 (진폭)을 변경하는 것입니다. 오른쪽 및 왼쪽 채널 값에 액세스하는 것은 행에 있기 때문에 [i * 2] 및 [i * 2 + 1]을 사용하여 수행됩니다.

function generateTone(freq, balance,sampleRate) { 
    var samples = Math.round(sampleRate/freq), 
    data = new Float32Array(samples *2), 
    var sample, i; 

    for (i = 0; i < samples; i++) { 
    sample = Math.sin(Math.PI * 2 * i/samples); 
    data[i * 2] = sample * (0.5 - balance); 
    data[i * 2 + 1] = sample * (0.5 + balance); 
    } 

    return data; 
} 

부비동 발생하면 귀하의 경우에는 필요하지 않습니다

(나는 와일리에서 HTML5 게임 책에서 복사) 아래 하나의 예를보십시오. 추가 질문이 있으십니까? 안부, 루카스

+0

이 같은 것들을 볼 때, 나는 똑똑한 괴상한 좋겠어요 : P – bigblind

+0

모질라 데이터 API는 죽어 가고 있지만,이 +1을받을 권리가 귀하의 대답은 다음 나에게 많은 도움이 – sepans