Функция записи звука для Android
Для Android нужно реализовать функцию записи звука с помощью микрофона и вывода частей этой аудиозаписи в виде массива аудиозаписей, в которых были обнаружены звуки с высокой громкостью относительно всего аудио. Например: определяется среднее значение по файлу и параметр допустимого отклонения, это как раз и будет "тишина".
1. Данная функция начинает записывать звук с помощью микрофона, когда пользователь инициирует начало записи.
2. Запись звука заканчивается, когда пользователь завершает запись.
Также во время записи нужно сохранять таймлайн времени (в котором часу происходит запись звука).
Запись будет обрабатываться - разбиваться на части.
3. Обработка записи после завершения
1) запись разбивается на части - выделяются части со звуками выше средней громкости на указанный параметр. Параметр допустимого превышения средней громкости будет тестироваться, поэтому должна быть возможность задавать ему разные значения.
Например: громкими считаем звуки с громкостью = средняя громкость aудио + x%, где х - параметр.
Если частота повторения громких звуков "у" секунд и ниже (у - параметр со значением интервала повторения следующего громкого звука. Данный параметр также будет тестироваться и должна быть возможность менять его значение), то включаем эти звуки в одну часть (одну аудиозапись).
2) формируются аудиозаписи громких звуков и время их записи (метка времени этого события).
Результатом будет массив со списком аудиозаписей, где были зафиксированы громкие звуки, и время, в которое были сделаны эти аудиозаписи.
Например, сделали запись с 23:00 до 7:00, значение параметров установлено у = 10 сек, х = 10%. На аудиозаписи были зафиксированы:
1) громкий звук в 01:15:00-01:15:03 и потом тишина более 10 секунд (до 03:45).
2) громкий звук в 03:45:00, в 03:45:10, в 03:45:20, в 03:45:25 и потом тишина более 10 секунд (до 4:10).
3) постоянное превышение средней громкости более x% c 04:10 до 4:30
Остальное время громкость была на уровне ниже, чем средняя громкость с допустимым отклонением на указанный параметр. Значит результатом будут 3 аудиозаписи:
1) 01:15:00-01:15:03
2) 03:45:00-03:45:25 (25 секунд длина)
3) 04:10-4:30 (20 минут длина)
Входные данные в задачу:
1. Начало записи и время начала
2. Завершение записи и время конца
Исходящие данные: Массив (список) аудиозаписей, где были зафиксированы громкие звуки, с указанием времени, в которое они были сделаны.
Чтобы мы могли протестировать - необходимо предоставить простейшее приложение с одной этой рабочей функцией.
-
Как приложение лучше всего сделать. Обращайтесь, пойдем работать. Удачного вечера, жду ответа.
-
1351 20 0 Здравствуйте, могу это сделать нативно.
То есть не как плагин, а нативное андройд приложение.
Обращайтесь.
Актуальные фриланс-проекты в категории Java
Создание приложенияЖелаю создать мобильное приложение для общения, в приложении должны быть аудио, видео звонок, создание групповых чатов, возможность синхронизировать с контактами телефона, настройками аккаунта: привязка по email, 2fa, номеру телефона, возможность настраивать уведомления… Java, Python ∙ 3 дня 20 часов назад ∙ 38 ставок |