携帯端末向け音楽ストリーミング配信方法メモ

携帯のキャリアによって音楽のストリーミング配信方法が違っていたのでメモ。
古い携帯は所持してなく、テストできないのでAUの3g2非対応端末とかのことは知らね。

再生可能時間については、DoCoMoなんかは比較的制限が緩くてそれなりの長さのが再生できるけど、AUが端末によってだいぶ短かったり、SoftBankが公式じゃないと300KBとかの制限があるらしくて全キャリア端末で同じ音楽を再生させようとするとまともな音楽を配信できなくなってしまいます。

準備

まず事前準備として適切なContentTypeを出力させる為と、SoftBankでストリーミングさせる為に.htaccessに以下を追加します。

AddType video/3gpp  .3gp
AddType video/3gpp2 .3g2
<Files ~ "\.3gp$">
	Header set x-jphone-copyright "no-transfer"
</Files>

HTML

HTMLはキャリアによってまったく違うので端末情報とかからキャリア判定して別々のタグを吐かせます。

Docomo

<object declare id="music" data="{path/to.3gp}" type="video/3gpp">
	<param name="stream-type" value="10" valuetype="data">
</object>
<a href="#music">ストリーミング</a>

AU

AUのdispositionって公開していいのか分からんかったのでとりあえず公開されてるショートストリーミングの値にしてます。
まあ、「AU ロングストリーミング」とかで検索すればすぐ見つかると思うので調べてみて下さい。

<object data="{path/to.3g2}" copyright="yes" type="video/3gpp2" standby="ストリーミング">
	<param name="title" value="{音楽タイトル}" valuetype="data" />
	<param name="size" value="{ファイルサイズ}" valuetype="data" />
	<param name="disposition" value="devmpzz" valuetype="data" />
</object>

SoftBank

<a href="{path/to.3gp}">ストリーミング</a>