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

Visualizer и сигнал с микрофона.Проблемка - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Ориентация экрана http://www.cyberforum.ru/android-dev/thread872789.html
Здравствуйте!Хотелось бы услышать совета знающих людей:) Имеется Активити с открытой БД и Курсором...Необходимо сделать так, что бы при изменении ориентации экрана не вызывался метод onCreate(), ну в общем все оставалось как есть, но поменялся layout на layout из layout-land Такой способ подойдет? Чтобы активность не пересоздавалась, добавьте в манифест строчку для нужной активности: ...
Android Потоковое видео Есть видеопоток(RTP), зашифрован по h.263, который приходит на конкретный порт по UDP протоколу. Как можно воспроизвести этот видеопоток в своем приложении? http://www.cyberforum.ru/android-dev/thread872729.html
Android Наименование классов (GameView)
интересует, это основной класс во всех приложениях? есть смысл менять название или всегда по умолчанию такое название.. поясните
Ошибка в методе onBackPressed Android
почему красным выделяется? подскажите кому не трудно :) p.s для остановки музыки после закрытия приложения Добавлено через 8 минут http://pictures4me.3dn.ru/_ph/2/2/237459971.jpg
Android Отрисовоку выводит за ошибку почему? http://www.cyberforum.ru/android-dev/thread872557.html
проблема, должно выводится кол-во попаданий и процент и т .д но почему то пейнт выводит за ошибку в чем может быть причина?
Android Выравнивание Помогите выровнять.. чегото не выходит, уже кучу способов перебрал <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:layout_gravity="center" android:orientation="vertical" > <LinearLayout android:layout_width="fill_parent" подробнее

Показать сообщение отдельно
Tarasyk
0 / 0 / 0
Регистрация: 05.09.2010
Сообщений: 32

Visualizer и сигнал с микрофона.Проблемка - Android

21.05.2013, 17:30. Просмотров 635. Ответов 0
Метки (Все метки)

Здравствуйте.
Столкнулся с проблемой.
Требуется написать приложение, которое будет отображать сигнал с микрофона в виде:
- wave form;
- fft form.
Клас Vizualizer имеет методы getWaveForm() и getFft().
Подписался на Visualizer.OnDataCaptureListener() и по возникновению onWaveFormDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate), или onFftDataCapture(Visualizer visualizer, byte[] bytes, int samplingRate), вызываю метод прорисовки данных.
При этом обьект Vizualizer-a цепляю или по sessionid к MediaPlayer, или слушаю все системные звуки.
Всё прекрсасно работает.
Создаю экземпляр AudioRecord, запускаю запись, запись происходит корректно, звук пишется на карту памяти, но в момент записи методы getWaveForm() и getFft() не вызываются, соответственно нет событий onWaveFormDataCapture() и onFftDataCapture().
Кусок текста программы:
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
recorder.startRecording(); 
 
recorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); 
recordFile = Environment.getExternalStorageDirectory().getAbsolutePath(); 
recordFile += "/recorder.arm"; 
recorder.setOutputFile(recordFile); 
 
setupVisualizerFxAndUI(); 
 
mVisualizer.setEnabled(true); 
 
private void setupVisualizerFxAndUI() { 
 
        waveVisualizerView = new VisualizerView(this); 
        waveVisualizerView.setLayoutParams(new ViewGroup.LayoutParams( 
                ViewGroup.LayoutParams.FILL_PARENT, 
                (int) (VISUALIZER_HEIGHT_DIP * getResources() 
                        .getDisplayMetrics().density))); 
        WaveLay.addView(waveVisualizerView); 
 
        fftVisualizerView = new VisualizerView(this); 
        fftVisualizerView.setLayoutParams(new ViewGroup.LayoutParams( 
                ViewGroup.LayoutParams.FILL_PARENT, 
                (int) (VISUALIZER_HEIGHT_DIP * getResources() 
                        .getDisplayMetrics().density))); 
        FFTLay.addView(fftVisualizerView); 
 
//        mVisualizer = new Visualizer(mp.getAudioSessionId()); 
        mVisualizer = new Visualizer(0); 
         
//        mVisualizer.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); 
        mVisualizer.setCaptureSize(256); 
//        mVisualizer.setCaptureSize(bufSize); 
        mVisualizer.setDataCaptureListener( 
                new Visualizer.OnDataCaptureListener() { 
                    public void onWaveFormDataCapture(Visualizer visualizer, 
                            byte[] bytes, int samplingRate) { 
                        waveVisualizerView.updateVisualizer(bytes, false); 
                    } 
 
                    public void onFftDataCapture(Visualizer visualizer, 
                            byte[] bytes, int samplingRate) { 
                        fftVisualizerView.updateVisualizer(bytes, true); 
                    } 
                }, Visualizer.getMaxCaptureRate() / 2, true, true); 
    }
Буду благодарен любым полезным советам.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru