Ответ 1
Вы можете попробовать HTML Media Capture. В статье на dev.opera говорится:
Android OS 3.0 стала первой платформой для обеспечения захвата HTML Media поддержку через браузер Android Webkit по умолчанию. Теперь HTML Media Capture также поддерживается:
- Safari и Chrome Mobile для iOS 6 +
- Chrome Mobile для Android OS 3 +
- Firefox Mobile для Android OS 3 +
- Opera 16 для Android OS 3 +
Тем не менее некоторые из них частично реализуют спецификацию или реализовать более старую спецификацию W3C, которая делает код выше немного отличается:
<input type="file" accept="image/*" capture="camera"> <input type="file" accept="video/*" capture="camcorder"> <input type="file" accept="audio/*" capture="microphone">
Он ссылается на демонстрационную страницу, которую вы можете попробовать на своем мобильном устройстве. Я также нашел эту страницу примера. В моем быстром тестировании iOS 7 он работал только правильно для фотографий и видео.
Изменить: Дальнейшее чтение предлагает accept="audio/*"
на самом деле не поддерживается на iOS 6 и 7, только accept="image/*"
и accept="video/*"
.
Обновление: быстрый тест на iOS 8.3 показывает, что здесь ничего не изменилось: accept="image/*"
и accept="video/*"
поддерживаются, но accept="audio/*"
нет.
Обновление: быстрый тест на iOS 10.0.2 предполагает, что accept="audio/*"
по-прежнему не поддерживается, хотя похоже, что вы можете загрузить аудиофайл с iCloud Drive или Dropbox.
Обновление: несмотря на то, что он говорит в сообщении блога Webkit, по-прежнему не поддерживается поддержка accept="audio/*"
в iOS 10.3 on мой iPhone 5S.
Обновление: та же история в iOS 11.0.3. По-прежнему не поддерживается поддержка accept="audio/*"
на моем iPhone 5S.