Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Выбор шрифта для EditText http://www.cyberforum.ru/android-dev/thread1593755.html
Всем здравствуйте. Пишу текстовый редактор. Помогите организовать выбор шрифта. Текст вводится в EditText. У меня маленький опыт, я только начала изучение разработки программ для мобильных приложений, поэтому буду рада любой помощи.
Android Eclipse - ошибка Добрый день! Начал изучать книгу "Программирование игр под android" и столкнулся с проблемой установки среды. вроде всё делаю как написано в книге, при запуске Eclipse выдаёт вот такую ошибку. Уже какой день пытаюсь нормально установить среду разработки, не получается. Прикрепляю вырезку из скина ошибки. Буду безмерно благодарен если поможете. http://www.cyberforum.ru/android-dev/thread1593754.html
Сохранение в SharedPreferences Android
Вобщем, я хочу сделать так, чтобы при нажатии на кнопку создавалась на экране ещё одна кнопка(и так можно сделать неограниченное количество раз). Но при обратном заходе все кнопки были такими, какими их оставил пользователь. Как сохранять какие кнопки размещены в SharedPreferences?
Android Сохранение текста в EditText
У меня ситуация следующая есть BaseAdapter в его методе getView() устанавливается текст в 3 EditText public View getView(final int position, View convertView, ViewGroup parent) { final VHItemAdd viewHolder; if (convertView == null) { LayoutInflater li = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView =...
Android FullScreen http://www.cyberforum.ru/android-dev/thread1593576.html
Вопрос такой: в уроке 150 startandroid есть код в onCreate для перевода во весь экран: requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); У меня всегда приложения вылетали с этим кодом, поэтому я пользовался манифестом, меняя там тему приложения на NoActionBar. Но в этом...
Android Как лучше организовать массив String[] из 60 элементов? Здравствуйте! Как лучше организовать массив String из 60 элементов? Речь идёт о создании собственного TimePicker. Так вот туда нужно наполнить данными 2 NumberPicker'a. Часы, как и минуты имеют вид "00", "01" и т. д., а значит простыми setMinValue(0) setMaxValue(59) не обойтись. Начал было создавать в strings.xml массивчик, да надоело. Как лучше в плане производительности и почему его создать?... подробнее

Показать сообщение отдельно
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.11.2015, 15:40     Сделать звуковой генератор
не, это не то. это служебные тоны коммуникационных сетей.
делал я как-то генератор, поискать надо.
если не найду, то - оно гуглится по-любому. :-)

Добавлено через 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;
        }
    }
 
}
есличо на меня не ругаться, я сейчас далеко от темы. сорри.
 
Текущее время: 21:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru