搜尋

首頁  >  問答  >  主體

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


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

高洛峰高洛峰2820 天前1575

全部回覆(3)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 09:36:11

    嗯,無解。 用戶只能從相簿裡選文件,如果加個可以選音頻,那用戶從哪裡選音頻文件?鈴聲?開玩笑。錄音? native app都沒這個權限。

    如果非要這個功能,可以讓用戶上傳視頻,然後後台提取音頻

    --- update:

    其實這個也不怎麼費事,用戶傳的影片都不會很大,兩三台伺服器就搞定了。這個功能用的少的話一台伺服器就可以了。當然你也可以省事的用CDN,現在的CDN大多都提供media轉換處理,掏點錢就行了。

    Android 機器的話還可以用 Java 或 Flash 前端抽取音訊。

    另外,還有個比較二的方法就是上傳視頻,但是前段只播放音頻,讓用戶看不到視頻內容,但是除了用戶要下載的文件可能比較大之外,還會牽扯隱私。

    所以,如果你這個功能可有可無,那就趁早放棄這個念頭。如果這個功能必須有,那建議使用 CDN ,或是自己搞個伺服器用 ffmpeg 專門處理這個。

    稍微有點規模的社群應用程式裡,這種做法其實很常見,我們公司在09年就搞過類似的,要把客戶端用戶錄製的speex音訊在電腦網頁和手機網頁上播放,我研究了幾天,嘗試了幾種方案,最後還是用服務端轉了。還有Twitter把用戶上傳的GIF轉換成了影片檔。在現代web裡,服務端轉換個影片跟處理用戶上傳的圖片一樣了。

    --- update:

    還有一個方案,就是讓使用者在微信裡錄製和上傳音訊。微信的JS SDK有相關介面。就是不知道跟你的產品需求搭不搭。

    回覆
    0
  • 高洛峰

    高洛峰2017-04-18 09:36:11

    答案就是不行,Safari 沒有這樣的 API

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-18 09:36:11

    某些安卓機可以這麼做的,iOS你可以試試看。

    accept是標準HTML5屬性。

    回覆
    0
  • 取消回覆