Урок 129. Медиа. Запись звука с помощью MediaRecorder
Урок 129. Медиа. Запись звука с помощью MediaRecorder
В этом уроке:
- пишем звук с помощью MediaRecorder
Click here to read this article!
- пишем звук с помощью MediaRecorder
Click here to read this article!
Последний раз редактировалось damager82 26 май 2017, 13:46, всего редактировалось 4 раза.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Спасибо за урок! Интересно, есть ли возможность как-то регулировать громкость записи? В документации не нашел таких методов, хотя по идее должны бы быть.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Здравствуйте. Подскажите, пожалуйста, как можно осуществить запись проигрываемых звуков в файл? Например, есть приложение, где есть несколько кнопок, каждая выдает разный звук. Я хочу записать последовательность этих звуков в отдельный файл с последующей возможностью воспроизведения. Буду очень благодарен за любую помощь по этому вопросу.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Пианину под андройд пишите?)Vladislav писал(а):Здравствуйте. Подскажите, пожалуйста, как можно осуществить запись проигрываемых звуков в файл? Например, есть приложение, где есть несколько кнопок, каждая выдает разный звук. Я хочу записать последовательность этих звуков в отдельный файл с последующей возможностью воспроизведения. Буду очень благодарен за любую помощь по этому вопросу.
Может поможет что-то типа:
http://stackoverflow.com/questions/6538 ... -from-java
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Статья интересная, но, к сожалению, она не про то. Мне нужно записать музыкальный файл в самом приложении, а не работать с уже существующим файлом.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Никак. Будильник и все остальные не имеют доступа к внутренним ресурсам другого приложения.Vladislav писал(а):Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.KamiSempai писал(а):Никак. Будильник и все остальные не имеют доступа к внутренним ресурсам другого приложения.Vladislav писал(а):Еще интересует такой вопрос: как можно установить звук из папки res/raw в качестве рингтона/будильника/смс ?
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Мне интересно.Vladislav писал(а):Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
http://stackoverflow.com/questions/8314 ... -exception - здесь написан код, который дает это сделать.KamiSempai писал(а):Мне интересно.Vladislav писал(а):Уже не нужно, сам нашел как это сделать:) Если кому будет нужно, то кину ссылку.
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Это не совсем из папки res.Vladislav писал(а):http://stackoverflow.com/questions/8314 ... -exception - здесь написан код, который дает это сделать.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
А возможно ли в качестве источника звука указать USB гарнитуру?
-
- Сообщения: 1
- Зарегистрирован: 23 сен 2013, 14:27
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
При нажатии на кнопку Start (record) в логе появляется ошибка MediaRecorder start failed: -2147483648.
Лог с момента старта программы:
Лог с момента старта программы:
Код: Выделить всё
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
10-23 06:38:31.670: D/dalvikvm(186): GC_CONCURRENT freed 1067K, 33% free 10196K/15175K, paused 4ms+10ms
10-23 06:38:31.760: D/OpenGLRenderer(404): Flushing caches (mode 1)
10-23 06:38:31.780: D/OpenGLRenderer(404): Flushing caches (mode 0)
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)
10-23 06:38:31.850: I/ActivityManager(186): Displayed ru.startandroid.develop.p1291_mediarecorderaudio/.MainActivity: +176ms
10-23 06:38:48.850: E/MediaProfiles(73): getInstance
10-23 06:38:48.850: E/MediaProfiles(73): getInstance 1ba0208
10-23 06:38:48.850: V/CedarXRecorder(73): Constructor
10-23 06:38:48.850: V/CedarXRecorder(73): reset
10-23 06:38:48.850: D/sun4i_audio_hardware(73): to malloc in-buffer: period_size: 1024, frame_size: 2
10-23 06:38:48.860: E/OMXCodec(73): Attempting to allocate OMX node 'OMX.TI.AMR.encode'
10-23 06:38:48.860: E/OMXCodec(73): Attempting to allocate OMX node 'AMRNBEncoder'
10-23 06:38:48.860: E/MediaRecorder(22873): start failed: -2147483648
10-23 06:38:48.860: W/System.err(22873): java.lang.RuntimeException: start failed.
10-23 06:38:48.860: W/System.err(22873): at android.media.MediaRecorder.native_start(Native Method)
10-23 06:38:48.860: W/System.err(22873): at android.media.MediaRecorder.start(MediaRecorder.java:704)
10-23 06:38:48.860: W/System.err(22873): at ru.startandroid.develop.p1291_mediarecorderaudio.MainActivity.recordStart(MainActivity.java:41)
10-23 06:38:48.860: W/System.err(22873): at java.lang.reflect.Method.invokeNative(Native Method)
10-23 06:38:48.860: W/System.err(22873): at java.lang.reflect.Method.invoke(Method.java:511)
10-23 06:38:48.860: W/System.err(22873): at android.view.View$1.onClick(View.java:3039)
10-23 06:38:48.870: W/System.err(22873): at android.view.View.performClick(View.java:3511)
10-23 06:38:48.870: W/System.err(22873): at android.view.View$PerformClick.run(View.java:14105)
10-23 06:38:48.870: W/System.err(22873): at android.os.Handler.handleCallback(Handler.java:605)
10-23 06:38:48.870: W/System.err(22873): at android.os.Handler.dispatchMessage(Handler.java:92)
10-23 06:38:48.870: W/System.err(22873): at android.os.Looper.loop(Looper.java:137)
10-23 06:38:48.870: W/System.err(22873): at android.app.ActivityThread.main(ActivityThread.java:4575)
10-23 06:38:48.870: W/System.err(22873): at java.lang.reflect.Method.invokeNative(Native Method)
10-23 06:38:48.870: W/System.err(22873): at java.lang.reflect.Method.invoke(Method.java:511)
10-23 06:38:48.870: W/System.err(22873): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
10-23 06:38:48.880: W/System.err(22873): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-23 06:38:48.880: W/System.err(22873): at dalvik.system.NativeStart.main(Native Method)
10-23 06:39:18.010: W/ThrottleService(186): unable to find stats for iface rmnet0
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Интересует такой вопрос: мое приложение записывает звук, при этом невозможно нормально разговаривать по скайпу. Как прекращать запись, когда начинается разговор по скайпу?
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Нужно добавить слушателя, который будет реагировать на событие.Dronja писал(а):Интересует такой вопрос: мое приложение записывает звук, при этом невозможно нормально разговаривать по скайпу. Как прекращать запись, когда начинается разговор по скайпу?
А на какое событие, если у Вас скайп всё время запущен?
смотрите в сторону BroadcastReceiver, только какое событие ловить, думайте.
Запуск скайпа - можно отследить, если покопаться в интернете, а вот начало разговора ...
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
Свои сообщения можно редактировать - кнопка edit.
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
спасибо за ответ. Событие я нашел - уведомления от скайп. Интересует как немедленно прекратить запись?trew писал(а):Нужно добавить слушателя, который будет реагировать на событие.
А на какое событие, если у Вас скайп всё время запущен?
смотрите в сторону BroadcastReceiver, только какое событие ловить, думайте.
Запуск скайпа - можно отследить, если покопаться в интернете, а вот начало разговора ...
Запись ведется по 3 мин (можно через setMaxDuration(time) или Thread.sleep(time)). Я в цикле проверяю не наступило ли событие, если да - то запись останавливается. При этом возможна ситуация, что событие наступит в течении тех 3 мин записи, и скайп не заработает. Как быть?
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
А как записать звуковой файл во внутреннюю память?
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Небольшое дополнение, полученное опытным путем: настройки рекордера нужно делать именно в том порядке, как это указано в уроке, а иначе вылетает IllegalStateException. То есть так:
Иные комбинации возвращают ошибку.
Код: Выделить всё
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
mediaRecorder.setOutputFile(path);
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Всем привет. Может кто знает решить следующею задачу. Нужно при разговоре через блютуз гарнитуру менять микрофон, то есть звук выходит в гарнитуру, а микрофон юзается телефона. Всей помощи буду благодарен))
-
- Сообщения: 1
- Зарегистрирован: 12 дек 2014, 15:21
Re: Урок 129. Медиа. Запись звука с помощью MediaRecorder
Здравствуйте.
Прочитал урок. Огромное спасибо Вам, как всегда.
Вопрос мой заключается вот в чем: каким образом можно записывать голос с микрофона и звук из динамика при разговоре?
Буду очень благодарен за помощь.
Еще было бы великолепно глянуть на пример ))
С уважением,
Томасов Эдгар Игоревич
Прочитал урок. Огромное спасибо Вам, как всегда.
Вопрос мой заключается вот в чем: каким образом можно записывать голос с микрофона и звук из динамика при разговоре?
Буду очень благодарен за помощь.
Еще было бы великолепно глянуть на пример ))
С уважением,
Томасов Эдгар Игоревич