Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
+1
179 / 117 / 19
Регистрация: 24.08.2010
Сообщений: 852
#1

Сделать звуковой генератор - Программирование Android

26.11.2015, 22:43. Просмотров 2026. Ответов 4
Метки нет (Все метки)

Всем привет.
Ребят, как выдать в наушник звук импульсами примерно прямоугольной формы?
Нужно сделать звуковой генератор от ~10 до ~10.000 герц частотой.
Как сделать? Я кроме как PlaySound про вывод звука ничего не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2015, 22:43
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сделать звуковой генератор (Программирование Android):

Звуковой фильтр с использованием AudioRecord - Программирование Android
Здравствуйте! Очень нужен звуковой фильтр, который бы реагировал только на резкие звуки. Вот что есть: Timer timer1 = new Timer(); ...

Как добавить звуковой файл в Android Studio? - Программирование Android
Подскажите пожалуйста как правильно загрузить звуковой файл в Андройд Студио, я его туда вставляю, а студия не распознает.

Генератор String - Программирование Android
Добрый день, уважаемые форумчане. Уже который день пытаюсь решить маленькую проблему, но не получается. Возможно ли при помощи Random...

Генератор кубиков - Программирование Android
Всем привет) Помогите новичку... Познания нулевые и вот решил попробовать сделать что-то похожее на игральные кости (кубики). Кодить...

Генератор / сборник иконок - Программирование Android
Может кто знает что то типа https://design.google.com/icons/? - но чтобы в разные цвета можно было генерировать - Что там не так? - То...

Генератор звукового сигнала - Программирование Android
Здравствуйте, кто может помочь написать простенький генератор сигнала, синус. Важна любая помощь. По интернетам смотрел информации мало....

4
Valakin
431 / 97 / 15
Регистрация: 21.02.2015
Сообщений: 736
27.11.2015, 08:47 #2
Цитата Сообщение от +1 Посмотреть сообщение
PlaySound
а разве он не проигрывает файлы.
Нужна аудиозапись с этим звуком.
Было бы интереснее знать а можно ли воспроизводить какой то звук без файла.
0
+1
179 / 117 / 19
Регистрация: 24.08.2010
Сообщений: 852
27.11.2015, 09:54  [ТС] #3
Цитата Сообщение от Valakin Посмотреть сообщение
аудиозапись с этим звуком
Мне нужно, чтобы частоту можно было менять от и до, хотя бы ступенчато.
0
Vladimir93
53 / 53 / 8
Регистрация: 28.06.2015
Сообщений: 220
27.11.2015, 12:07 #4
Такое?
http://developer.android.com/intl/ru...Generator.html
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.11.2015, 15:40 #5
не, это не то. это служебные тоны коммуникационных сетей.
делал я как-то генератор, поискать надо.
если не найду, то - оно гуглится по-любому. :-)

Добавлено через 2 минуты
так, сейчас я не проверял, но у меня лежит в папке "запускал и тестировал", значит должно работать. :-)
и еще с очень много говорящим названием. :-)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package com.example.soundtest;
 
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
 
 
public class WaveGeneratorStackOverflow {
 
    private static float frequency = 1500;
 
    private final int numSamples = 8000;
    private final double sample[] = new double[numSamples];
    private final byte generatedSnd[] = new byte[2 * numSamples];
    private AudioTrack audioTrack;
    
    
    public WaveGeneratorStackOverflow (float freq) {
        frequency = freq; 
        generateSound();
    }
 
    private void generateSound() {
        for (int i = 0; i < numSamples; ++i) {
            sample[i] = Math.sin(2 * Math.PI * i / (numSamples/frequency));
        }
        int idx = 0;
        for (final double dVal : sample) {
            final short val = (short) ((dVal * 32767));
            generatedSnd[idx++] = (byte) (val & 0x00ff);
            generatedSnd[idx++] = (byte) ((val & 0xff00) >>> 8);
        }
    }
 
    public void start() {
        if (audioTrack == null) {
            audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC,
                    numSamples, AudioFormat.CHANNEL_OUT_MONO,
                    AudioFormat.ENCODING_PCM_16BIT,
                    generatedSnd.length, AudioTrack.MODE_STATIC);
    
            audioTrack.write(generatedSnd, 0, generatedSnd.length);
            audioTrack.setLoopPoints(0, generatedSnd.length/2, -1);
            
            audioTrack.play();
        }
    }
 
    public void stop() {
        if (audioTrack != null) {
            audioTrack.stop();
            audioTrack.release();
            audioTrack = null;
        }
    }
 
}
есличо на меня не ругаться, я сейчас далеко от темы. сорри.
0
27.11.2015, 15:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2015, 15:40
Привет! Вот еще темы с ответами:

Осциллограф/генератор на звуковой карте (Eclipse) - Java SE
Приветствую! Вкратце: Я студент, программированием занимаюсь год. Начал более-менее разбираться в алгоритмизации, программирую на...

Как сделать звуковой фон - Delphi
Добрый вечер. Помогите решить такой вопрос. Каким компонентов можно сделать звуковой фон, при этом когда запускается проект, на форме...

Не могу сделать установку звуковой карты PCI Esi juli@ - Звук, акустика
не давно сменил виндовс на 8.1 все удалил и недавно поставил звуковую карту(до этого все работало), а сейчас пк не видит ее почему то,...

Сделать генератор сказок - JavaScript
Ввести данные в текстовые поля формы. При нажатии на кнопку сгенерировать, сгенерированная сказка выводится в другом окне.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru