Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 20 фев 2019, 00:42

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 23 июн 2013, 23:00 
Администратор
Аватар пользователя

Зарегистрирован: 07 янв 2012, 11:32
Сообщений: 1400
Благодарил (а): 0 раз.
Поблагодарили: 75 раз.

В этом уроке:


- пишем звук с помощью MediaRecorder




Click here to read this article!

_________________
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение


Последний раз редактировалось damager82 26 май 2017, 13:46, всего редактировалось 4 раз(а).

Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 июн 2013, 22:58 

Зарегистрирован: 24 июн 2013, 22:50
Сообщений: 3
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Спасибо за урок! Интересно, есть ли возможность как-то регулировать громкость записи? В документации не нашел таких методов, хотя по идее должны бы быть.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 июн 2013, 07:47 

Зарегистрирован: 27 июн 2013, 07:37
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте. Подскажите, пожалуйста, как можно осуществить запись проигрываемых звуков в файл? Например, есть приложение, где есть несколько кнопок, каждая выдает разный звук. Я хочу записать последовательность этих звуков в отдельный файл с последующей возможностью воспроизведения. Буду очень благодарен за любую помощь по этому вопросу.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 июн 2013, 09:07 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Vladislav писал(а):
Здравствуйте. Подскажите, пожалуйста, как можно осуществить запись проигрываемых звуков в файл? Например, есть приложение, где есть несколько кнопок, каждая выдает разный звук. Я хочу записать последовательность этих звуков в отдельный файл с последующей возможностью воспроизведения. Буду очень благодарен за любую помощь по этому вопросу.


Пианину под андройд пишите?)
Может поможет что-то типа:
http://stackoverflow.com/questions/653861/join-two-wav-files-from-java


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 июн 2013, 12:31 

Зарегистрирован: 27 июн 2013, 07:37
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Статья интересная, но, к сожалению, она не про то. Мне нужно записать музыкальный файл в самом приложении, а не работать с уже существующим файлом.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 июн 2013, 13:45 

Зарегистрирован: 27 июн 2013, 07:37
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 27 июн 2013, 16:09 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Vladislav писал(а):
Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?
Никак. Будильник и все остальные не имеют доступа к внутренним ресурсам другого приложения.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 июн 2013, 05:14 

Зарегистрирован: 27 июн 2013, 07:37
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
KamiSempai писал(а):
Vladislav писал(а):
Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?
Никак. Будильник и все остальные не имеют доступа к внутренним ресурсам другого приложения.


Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 28 июн 2013, 10:30 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Vladislav писал(а):
Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.
Мне интересно.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 июл 2013, 06:46 

Зарегистрирован: 27 июн 2013, 07:37
Сообщений: 5
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
KamiSempai писал(а):
Vladislav писал(а):
Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.
Мне интересно.


http://stackoverflow.com/questions/8314 ... -exception - здесь написан код, который дает это сделать.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 01 июл 2013, 11:25 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Vladislav писал(а):
http://stackoverflow.com/questions/8314727/setting-a-custom-ringtone-produces-filenotfound-exception - здесь написан код, который дает это сделать.
Это не совсем из папки res. ;)

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 02 июл 2013, 10:45 

Зарегистрирован: 14 дек 2012, 15:48
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А возможно ли в качестве источника звука указать USB гарнитуру?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 23 сен 2013, 14:39 

Зарегистрирован: 23 сен 2013, 14:27
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
При нажатии на кнопку Start (record) в логе появляется ошибка MediaRecorder start failed: -2147483648.
Лог с момента старта программы:
Код: [ Загрузить ] [ Скрыть ]
  1. 10-23 06:38:31.510: I/ActivityManager(186): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=ru.startandroid.develop.p1291_mediarecorderaudio/.MainActivity} from pid 404 
  2. 10-23 06:38:31.670: D/dalvikvm(186): GC_CONCURRENT freed 1067K, 33% free 10196K/15175K, paused 4ms+10ms 
  3. 10-23 06:38:31.760: D/OpenGLRenderer(404): Flushing caches (mode 1) 
  4. 10-23 06:38:31.780: D/OpenGLRenderer(404): Flushing caches (mode 0) 
  5. 10-23 06:38:31.820: W/InputManagerService(186): Starting input on non-focused client com.android.internal.view.IInputMethodClient$Stub$Proxy@41067898 (uid=10035 pid=404) 
  6. 10-23 06:38:31.850: I/ActivityManager(186): Displayed ru.startandroid.develop.p1291_mediarecorderaudio/.MainActivity: +176ms 
  7. 10-23 06:38:48.850: E/MediaProfiles(73): getInstance 
  8. 10-23 06:38:48.850: E/MediaProfiles(73): getInstance 1ba0208 
  9. 10-23 06:38:48.850: V/CedarXRecorder(73): Constructor 
  10. 10-23 06:38:48.850: V/CedarXRecorder(73): reset 
  11. 10-23 06:38:48.850: D/sun4i_audio_hardware(73): to malloc in-buffer: period_size: 1024, frame_size: 2 
  12. 10-23 06:38:48.860: E/OMXCodec(73): Attempting to allocate OMX node 'OMX.TI.AMR.encode' 
  13. 10-23 06:38:48.860: E/OMXCodec(73): Attempting to allocate OMX node 'AMRNBEncoder' 
  14. 10-23 06:38:48.860: E/MediaRecorder(22873): start failed: -2147483648 
  15. 10-23 06:38:48.860: W/System.err(22873): java.lang.RuntimeException: start failed. 
  16. 10-23 06:38:48.860: W/System.err(22873):     at android.media.MediaRecorder.native_start(Native Method) 
  17. 10-23 06:38:48.860: W/System.err(22873):     at android.media.MediaRecorder.start(MediaRecorder.java:704) 
  18. 10-23 06:38:48.860: W/System.err(22873):     at ru.startandroid.develop.p1291_mediarecorderaudio.MainActivity.recordStart(MainActivity.java:41) 
  19. 10-23 06:38:48.860: W/System.err(22873):     at java.lang.reflect.Method.invokeNative(Native Method) 
  20. 10-23 06:38:48.860: W/System.err(22873):     at java.lang.reflect.Method.invoke(Method.java:511) 
  21. 10-23 06:38:48.860: W/System.err(22873):     at android.view.View$1.onClick(View.java:3039) 
  22. 10-23 06:38:48.870: W/System.err(22873):     at android.view.View.performClick(View.java:3511) 
  23. 10-23 06:38:48.870: W/System.err(22873):     at android.view.View$PerformClick.run(View.java:14105) 
  24. 10-23 06:38:48.870: W/System.err(22873):     at android.os.Handler.handleCallback(Handler.java:605) 
  25. 10-23 06:38:48.870: W/System.err(22873):     at android.os.Handler.dispatchMessage(Handler.java:92) 
  26. 10-23 06:38:48.870: W/System.err(22873):     at android.os.Looper.loop(Looper.java:137) 
  27. 10-23 06:38:48.870: W/System.err(22873):     at android.app.ActivityThread.main(ActivityThread.java:4575) 
  28. 10-23 06:38:48.870: W/System.err(22873):     at java.lang.reflect.Method.invokeNative(Native Method) 
  29. 10-23 06:38:48.870: W/System.err(22873):     at java.lang.reflect.Method.invoke(Method.java:511) 
  30. 10-23 06:38:48.870: W/System.err(22873):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
  31. 10-23 06:38:48.880: W/System.err(22873):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
  32. 10-23 06:38:48.880: W/System.err(22873):     at dalvik.system.NativeStart.main(Native Method) 
  33. 10-23 06:39:18.010: W/ThrottleService(186): unable to find stats for iface rmnet0 


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 ноя 2013, 11:58 

Зарегистрирован: 05 сен 2013, 17:34
Сообщений: 12
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Интересует такой вопрос: мое приложение записывает звук, при этом невозможно нормально разговаривать по скайпу. Как прекращать запись, когда начинается разговор по скайпу?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 ноя 2013, 12:05 
Аватар пользователя

Зарегистрирован: 28 сен 2013, 17:34
Сообщений: 450
Благодарил (а): 8 раз.
Поблагодарили: 110 раз.
Dronja писал(а):
Интересует такой вопрос: мое приложение записывает звук, при этом невозможно нормально разговаривать по скайпу. Как прекращать запись, когда начинается разговор по скайпу?

Нужно добавить слушателя, который будет реагировать на событие.
А на какое событие, если у Вас скайп всё время запущен? :)
смотрите в сторону BroadcastReceiver, только какое событие ловить, думайте.
Запуск скайпа - можно отследить, если покопаться в интернете, а вот начало разговора ...

_________________
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 ноя 2013, 12:13 

Зарегистрирован: 05 сен 2013, 17:34
Сообщений: 12
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
trew писал(а):
Нужно добавить слушателя, который будет реагировать на событие.
А на какое событие, если у Вас скайп всё время запущен? :)
смотрите в сторону BroadcastReceiver, только какое событие ловить, думайте.
Запуск скайпа - можно отследить, если покопаться в интернете, а вот начало разговора ...

спасибо за ответ. Событие я нашел - уведомления от скайп. Интересует как немедленно прекратить запись?
Запись ведется по 3 мин (можно через setMaxDuration(time) или Thread.sleep(time)). Я в цикле проверяю не наступило ли событие, если да - то запись останавливается. При этом возможна ситуация, что событие наступит в течении тех 3 мин записи, и скайп не заработает. Как быть?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 24 янв 2014, 23:03 

Зарегистрирован: 12 сен 2013, 08:38
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
А как записать звуковой файл во внутреннюю память?


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 20 июн 2014, 12:55 

Зарегистрирован: 01 ноя 2013, 15:45
Сообщений: 14
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.
Небольшое дополнение, полученное опытным путем: настройки рекордера нужно делать именно в том порядке, как это указано в уроке, а иначе вылетает IllegalStateException. То есть так:
Код: [ Загрузить ] [ Скрыть ]
  1. mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); 
  2. mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); 
  3. mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); 
  4. mediaRecorder.setOutputFile(path); 

Иные комбинации возвращают ошибку.


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 10 окт 2014, 14:13 

Зарегистрирован: 11 мар 2013, 21:59
Сообщений: 20
Благодарил (а): 2 раз.
Поблагодарили: 1 раз.
Всем привет. Может кто знает решить следующею задачу. Нужно при разговоре через блютуз гарнитуру менять микрофон, то есть звук выходит в гарнитуру, а микрофон юзается телефона. Всей помощи буду благодарен))


Вернуться наверх
 Профиль  
 
СообщениеДобавлено: 12 дек 2014, 15:25 

Зарегистрирован: 12 дек 2014, 15:21
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Здравствуйте.

Прочитал урок. Огромное спасибо Вам, как всегда.
Вопрос мой заключается вот в чем: каким образом можно записывать голос с микрофона и звук из динамика при разговоре?
Буду очень благодарен за помощь.
Еще было бы великолепно глянуть на пример ))

С уважением,
Томасов Эдгар Игоревич


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB