2011-11-20 2 views
1

오디오 태그의 콘텐츠 출력을 직접 분석하고 출력을 사용할 수 있습니까? 더 명확하게하기 위해, 내가하고 싶은 일은 소리의 레벨에 따라 볼을 소리내어 높이거나 낮추는 (html5 캔버스 사용) 오디오 콘텐츠의 사운드 레벨을 사용하는 것입니다.HTML5 오디오 - 출력을 분석 하시겠습니까?

예를 들어 audioElement.getVolumeLevel()과 같은 것이 있으면 편리 할 것입니다. 그러나 그런 것이 있는지는 알 수 없지만 실제로 유용합니다.

또한이 질문은 특히 오디오 요소 사용에 대한 것입니다. 나는 다른 방법을 알고 있지만 이것이 지금 내가하고있는 일에 가장 잘 부합 될 것이라고 생각했다. 간단한 해결책이 존재한다면, 나는 여분의 라이브러리를 가지고 다닐 필요가 없다.

파이어 폭스에서

답변

2

, 그것은 가능하지만 아직 내가 아는 한 표준화 아니에요 (크롬 아마뿐만 아니라 그것을 지원) :

https://wiki.mozilla.org/Audio_Data_API

웹킷 API 제안 : https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html

그리고 소수의 관련 기사/데모 :

http://ajaxian.com/by/topic/sound

http://ajaxian.com/archives/amazing-audio-api-javascript-demos

+0

파이어 폭스 콘텐츠가 파이어 폭스에서만 작동한다고 가정합니다. 표준화되지 않았다는 것을 빨아 들인다. 그러나 도움이되는 자원에 감사드립니다. – varatis

+0

예, FF 호출의 묶음은'moz .... '입니다. 내가 말할 수있는 것부터, 필자가 연결 한 API 제안이 제안 된 표준이지만, FF가 지원하는지는 잘 모르겠다. :)이 경우 실제로 성가신 점은 다른 많은 것들과 달리 완전히 다른 API라는 점이다. 진짜 차이점은'moz ...'와'webkit ...'접두어입니다. –

1

현재 다양한 브라우저에서 작동하고 있으며 서로 다른 세 가지 Audio API가 있습니다. 아직 슬프게도 표준화 된 것은 없지만 결국 거기에 도달 할 것입니다.

1

이 같은 파이어 폭스와 크롬 모두에서 볼륨 레벨을 변경할 수 있습니다 예를 들어 당신이 JS 콘솔에서 그것을 시도하는 경우에, 그래서 볼륨을 설정

var aud = document.getElementsByTagName('audio')[0] 
aud.play() 
aud.volume *= 0.5 

, 리셋 레벨을 반환

> aud.volume *= 0.5 
0.015625 
> aud.volume *= 0.5 
0.0078125 
> aud.volume *= 0.5 
0.00390625 

그게 볼륨을 낮추는 ... HTH.