Preciso de ajuda com a manipulação de áudio. Eu quero fazer um aplicativo que é capaz de emitir um som com uma frequência específica.
Meu aplicativo tem o Google Earth incorporar e enquanto o usuário está movendo o mouse sobre o mapa, meu app pega a altitude do relevo no ponto em que o mouse está.
Então eu converto a altitude para uma frequência entre 20Hz e 20kHz.
Até aqui, o meu aplicativo funciona bem. Para entender melhor, pode copiar o código abaixo e experimentar.
Meu problema é alterar a freqüência de áudio em tempo real para a freqüência específica (obtido na última etapa). A frequência muda a cada movimento do mouse.
Alguém sabe o que a língua que eu posso fazer isso? Eu posso fazer com javascript?
Se não der para alterar a frequência do audio, gostaria de alterar o volume do som.
Por exemplo, se o mouse está no ponto mais alto da terra, o som vai ficar no último volume. Se o mouse estiver ao nível do mar, o som vai ficar com volume mais baixo.
Meu aplicativo tem o seguinte código até agora:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="JS Editor v9, http://www.c-point.com" />
<title>mousemove_listener_example.html
</title>
<meta content="text/html; charset=us-ascii" http-equiv="Content-Type" />
<script src=
"http://www.google.com/jsapi?key=ABQIAAAA5El50zA4PeDTEMlv-sXFfRSsTL4WIgxhMZ0ZK_kHjwHeQuOD4xTdBhxbkZWuzyYTVeclkwYHpb17ZQ"
type="text/javascript"
xml:space="preserve">
</script>
<script type="text/javascript" xml:space="preserve">
var ge;
google.load("earth", "1");
function init() {
google.earth.createInstance('map3d', initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
//Define what happens when a mousemove is detected on the globe.
var highestFrequency = 20000; //Highest frequency audible by human
var lowestFrequency = 20; //Lowest frequency audible by human
var frequenceRange = highestFrequency - lowestFrequency;
var highestGlobePoint = 8850; //Highest point on the globe
var freq;
var currentAlt;
function recordAltitude(event) {
currentAlt = event.getAltitude();
//maxAlt = Math.max(maxAlt, currentAlt);
if ( currentAlt <= 0 )
freq = 20;
else
freq = (currentAlt / highestGlobePoint) * frequenceRange + lowestFrequency;
document.getElementById('altitude').innerHTML =
'<p>Current altitude: ' + currentAlt +
'<br/> Frequency: ' + freq +
'<\/p>';
}
// Listen to the mousemove event on the globe.
google.earth.addEventListener(ge.getGlobe(), 'mousemove', recordAltitude);
}
function failureCB(errorCode) { }
google.setOnLoadCallback(init);
</script>
<script type="text/javascript" src="http://www.google.com/uds/?file=earth&v=1" xml:space="preserve">
</script>
<script type="text/javascript" src="./mousemove_listener_example_files/default.I.js" xml:space="preserve">
</script>
</head>
<body background="" alink="#0080FF" link="blue" bgcolor="white" vlink="silver">
<!-- Tabela do Mapa 3D -->
<table>
<tbody>
<tr> <td>
<div id="map3d" style="WIDTH: 600px; HEIGHT: 400px">
</div>
</td>
<td>
<div id="altitude">
<p>Current altitude: N/A <br /> Frequency: N/A</p>
</div>
</td>
</tr>
</tbody>
</table>
<object align=left classid=CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95 id="./audio/testando.wav">
<param name="FileName" value="./audio/testando.wav">
<param name="AutoRewind" value="true">
<param name="AutoStart" value="false">
<param name="ClickToPlay" value="true">
<param name="Mute" value="false">
<param name="ShowControls" value="true">
<param name="ShowDisplay" value="true">
<param name="ShowTracker" value="true">
<param name="PlayCount" value="1">
</object>
</body>
</html>
Pergunta
Filipe Queiroz
E ae pessoal,
Preciso de ajuda com a manipulação de áudio. Eu quero fazer um aplicativo que é capaz de emitir um som com uma frequência específica.
Meu aplicativo tem o Google Earth incorporar e enquanto o usuário está movendo o mouse sobre o mapa, meu app pega a altitude do relevo no ponto em que o mouse está.
Então eu converto a altitude para uma frequência entre 20Hz e 20kHz.
Até aqui, o meu aplicativo funciona bem. Para entender melhor, pode copiar o código abaixo e experimentar.
Meu problema é alterar a freqüência de áudio em tempo real para a freqüência específica (obtido na última etapa). A frequência muda a cada movimento do mouse.
Alguém sabe o que a língua que eu posso fazer isso? Eu posso fazer com javascript?
Se não der para alterar a frequência do audio, gostaria de alterar o volume do som.
Por exemplo, se o mouse está no ponto mais alto da terra, o som vai ficar no último volume. Se o mouse estiver ao nível do mar, o som vai ficar com volume mais baixo.
Meu aplicativo tem o seguinte código até agora:
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.