Safari里表单input怎么上传音频文件?


表单里用<input type=”file”>,iphone手机Safari浏览器中,点击上传文件只有这几个选项,怎么样可以添加“本地选择器”或者“音频选择”这样的选项?我只想可以上传音频,请各路大神拯救。

嗯,无解。 用户只能从相册里选文件,如果加个可以选音频,那用户从哪里选音频文件?铃声?开玩笑。录音?native app都没这个权限。

如果非要这个功能,可以让用户上传视频,然后后台提取音频

— update:

其实这个也不怎么费事,用户传的视频都不会很大,两三台服务器就搞定了。这个功能用的少的话一台服务器就可以了。当然你也可以省事的用CDN,现在的CDN大多都提供media转换处理,掏点钱就行了。

Android 机器的话还可以用 Java 或 Flash 前端抽取音频。

另外,还有个比较二的方法就是上传视频,但是前段只播放音频,让用户看不到视频内容,但是除了用户要下载的文件可能比较大之外,还会牵扯隐私。

所以,如果你这个功能可有可无,那就趁早放弃这个念头。如果这个功能必须有,那建议使用 CDN ,或者自己搞个服务器用 ffmpeg 专门处理这个。

稍微有点规模的社交应用里,这种做法其实很常见,我们公司在09年就搞过类似的,要把客户端用户录制的speex音频在电脑网页和手机网页上播放,我调研了几天,尝试了几种方案,最后还是用服务端转了。还有Twitter把用户上传的GIF转换成了视频文件。在现代web里,服务端转换个视频跟处理用户上传的图片一样了。

— update:

还有一种方案,就是让用户在微信里录制和上传音频。微信的JS SDK有相关接口。就是不知道跟你的产品需求搭不搭。

答案就是不行,Safari 没有这样的 API

某些安卓机可以这么做的,iOS你可以试试。
<input type=”file” accept=”audio/*”>

accept是标准HTML5属性。

发表评论

电子邮件地址不会被公开。 必填项已用*标注