先放結論:Safari支不支持HTML5錄音? ——據我調查,不支持。
現在瀏覽器中最好的解決方案是WebRTC下的 navigator.getUserMedia API。
可是當使用Can I use查看兼容性的時候,我發現
不過這個是有歷史原因的,我記得RTC是在去年,2013,才剛剛由思科提出并且確定下來的(沒記錯的話)。但Audio標簽在制定初就是HTML5規范的一部分,兼容性如下,因此你的陳述有誤。
所以,我在做相關Application時候,就不得不得考慮退化,然而多媒體方面的能做的退化的最好的方案就是Flash。
Safari HTML5 Audio and Video Guide: About HTML5 Audio and Video
Can I use... Support tables for HTML5, CSS3, etc
因此我就順著思路又用AS3實現了一遍,在前端做分狀態異步加載,當我檢測到瀏覽器支持相關API(getUserMedia),我直接切換到HTML5模式,Div中裝載Canvas、WebWorker等等;反之,就加載Flash控件。
至于你說的Safari支持音頻,但音頻!=錄音,事實上Audio和Video標簽是Safari 3.1以后開始支持的,至于之前的Safari基本上就靠Quicktime了。
另外支不支持HTML5 API,取決的是瀏覽器實現,和系統關系不大。一會兒Safari,一會兒Windows的.....你要么就寫IE,誰說windows上不能跑chrome的?
相關引用:Safari HTML5 Audio and Video Guide: About HTML5 Audio and Video
Can I use... Support tables for HTML5, CSS3, etc