表单里用<input type="file">,iphone手机Safari浏览器中,点击上传文件只有这几个选项,怎么样可以添加“本地选择器”或者“音频选择”这样的选项?我只想可以上传音频,请各路大神拯救。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
嗯,无解。 用户只能从相册里选文件,如果加个可以选音频,那用户从哪里选音频文件?铃声?开玩笑。录音?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属性。
嗯,无解。 用户只能从相册里选文件,如果加个可以选音频,那用户从哪里选音频文件?铃声?开玩笑。录音?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属性。