つよくなるブログ

その場にとどまるためには、全力で走り続けなければならない

input type="file" accept で .m4a 形式のファイルをデフォルトの選択対象にする場合は audio/x-m4a を使う

タイトルが本文.

実現したかったこと

<input type="file">

でデフォルトでは .m4a 形式のファイルだけを選択対象にする.

.m4a とは

非圧縮ファイル(WAVやAIFF)を音質の劣化なく70%から50%程圧縮する。通常はQuickTimeのMOVファイル(.mov)かMP4ファイル(.m4a)に格納される。

ロスレスで50%サイズダウンすごい.

試したこと

素直に <input type="file" accept="audio/m4a">

-> 全てのファイル形式が対象になる: ☓

あ, m4a は mp4 ベースの拡張だから <input type="file" accept="audio/mp4">

-> .mp4 が対象になる: ☓

-もう <input type="file" accept="audio/*"> で妥協しよう

-> ☓

結論

<input type="file" accept="audio/x-m4a">

なぞは残る

Media Types

developer.mozilla.org

あたりを探しても関する情報はなく...

help.dottoro.com

に audio/m4a の Aliases として audio/x-m4a があったので試してみたらいけた.

現行の Chrome 63 と Safari 11.0.2 では実現できた.

Web 標準ではないけど各ブラウザが実装している..?

優先度は高くないので, 時間あるときにでも調べていきたい.