Generates sounds with different waveform types (sine, square, triangle, and sawtooth). You can also set a frequency range for the sound to automatically oscillate in a loop (back and forth) and notifies when the frequency in the loop changes, including how many times the cycle has been completed.
Uses the AudioTrack API to play a smooth, seamless tone.
GenerateSound
Generates a continuous sound with the specified frequency or a configured frequency loop.
frequency: The frequency of the tone in hertz (Hz). For example, 440 for tone A4. If a loop is being used, this parameter will be automatically ignored.
Changes the type of wave that generates the sound.
waveType (text): The type of wave to use. Valid options:
"SINE", "SQUARE", "TRIANGLE", "SAWTOOTH".
SetLoop
Sets a frequency range to generate a loop. The sound will oscillate from the start frequency to the end frequency and return to the start.
start: Frequency of the loop.
end: Frequency of the loop.
GetLoopFrequency
Returns the current frequency in the loop. This function is updated in real time and must be used as input to the frequency parameter in the GenerateSound function for the loop to work correctly.
FrequencyChanged
Fired when the frequency changes during a loop. It also reports how many times a loop has been completed (round trip).
frequency: The current frequency of the loop.
completedLoops: The number of complete cycles (round trips) performed since the start of the loop.
If a tone is already running, it will stop the previous one before starting a new one.
The acceptable frequency range will depend on the hardware of the device, but it generally supports frequencies from 20 Hz to 20,000 Hz (audible range).
WARNING: To protect your hearing, do not listen to very low frequencies (below 20 Hz) or very high frequencies (above 10,000 Hz) at high volumes.
Yo tengo Tinnitus (un acúfeno), un sonido que se escucha dentro del oído, pero que ningún estudio serio determina cual es su origen para solucionarlo de forma DEFINITIVA. Tengo este problema después de haber sufrido un accidente con una estufa a gas (y haber quedado sordo por 2 días, luego apareció el Tinnitus).
Hay una terapia sonora que dice que escuchando la misma frecuencia sonora se la anula de alguna manera. Espero encontrar la frecuencia de esta forma.
Pregunto ya que estoy, ¿podrías hacer de forma inversa prácticamente una extension para detectar la presión sonora? Se que hay 1 extension que se encuentra en el repositorio del MIT, pero no tiene soporte. A la extension la he usado en 3 teléfonos con regulares a malos resultados en todos ellos.
Unsupported:
-Sound Pressure Level Extension (esta es la extension)
It can only play one continuous sound at a time, and every time you call the GenerateSound function, it stops any sound already playing before starting a new one.
Hola @Joejsanz, use tu extension, me funcionó muy bien, pero he tenido un problema.
Intente generar el valor de la frecuencia por medio de un slider.
Comenzando en 100hz hasta 20000 y se rompió.
Me dio error en el companion y luego en la web.
Aquí te paso la captura
Cuando saque el slider y puse los valores a mano, el problema se soluciono.
¿Como se podría hacer para que funcione con una barra (para elegir el valor) y que el valor se vea en función de la posición de la barra (que se vea en un label el valor que se eligió en el slider)? a eso me refiero.
Aclarame ese detalle por favor y si existe algún impedimento también te agradecería que me lo describas.
Thank you for your comment @Taifun , i checked the slider and i have a loop. Also, i have the previous version of the extension, i remove it and added the last one and all the problems have gone now. Thank you Again.