Ответ 1
@Допустим, я клонировал ваше репо и получил те же результаты, что и вы. Некоторое время я занимался этим, там определенно было странное sh * t с медиа-плагином. Я попытаюсь потратить некоторое время на отправку некоторых запросов на растяжение, чтобы добавить несколько функций и исправить несколько неправильных действий, как с помощью getDuration().
Оказывается, функция getDuration() не запрашивает родную часть плагина, какова продолжительность, она возвращает с сохраненным значением в javascript, и это значение обновляется только тогда, когда родной код отправляет сообщение. Таким образом, вы не получите свежее значение текущей продолжительности. Вы можете изменить плагин, чтобы он получил длительность в собственном коде с помощью кордовы exec().
О файле, я начал использовать плагин для файлов, но в итоге его бросил. Пробовал только с плагином для мультимедиа, передавая только имя файла, без пути. Файл хранился в файле /storage/emulated/ 0/file.3gp. Он был записан, имел контент и был доступен для воспроизведения. Я предполагаю, что использование плагина файла и передача полной строки пути заставят его создать файл, в котором вы хотите. Но когда вы проходите тот же путь к медиа-плагину, это не соблюдается, потому что когда я использовал его, файл был выделен, но после записи у него было 0 байт, но все же я мог воспроизводить запись, поэтому он должен был ее где-то сохранить иначе.
Если использование медиа-плагина самостоятельно решает вашу проблему, как это было для меня, отлично! Если это не так, и вы все равно хотите продолжать работать над этим, я предлагаю вам использовать монитор Android в Android Studio для мониторинга собственных сообщений и просмотра кода плагина. Вот как я узнал о вещах.
Надеюсь, что это поможет