5509

Site Search

動的にvideo要素の動画を入れ替えるときに気をつけること

HTML5ではvideo要素で(手軽に?)動画を再生できますが、枠だけ書き出しておいて(別にHTML直書きでいいですが)、動画を入れ替える場合は少し注意が必要です。たぶん。

現状で動画フォーマットがいくつか存在しますが、複数のフォーマットをサポートしたい場合は以下のように書きます。

<video controls="controls" width="352" height="198" preload="none" id="videoElm">
  <source src="hoge.mp4" type="video/mp4" id="mp4" />
  <source src="hoge.ogg" type="video/ogg" id="ogg" />
</video>

動的に書き換えるので、次のような関数用意して再生したい動画のURLを入れればよさげです。

function playMovie(mp4, ogg) {
  $('#videoElm')
    .html([ // ソースファイルをつっこむ
      '<source src="' + mp4 + '" type="video/mp4" id="mp4" />',
      '<source src="' + ogg + '" type="video/ogg" id="ogg" />'
    ].join(''));
}

playMovie(piyo.mp4, piyo.ogg);

で結局何に注意しないとあかんかっていうのは、このままだとiOSで再生ができないんですね。iOSはmp4ファイル等で再生す
るんですけど、source要素を動的につっこんでもだめな様子。。

追記:内容が曖昧すぎたので追記します。
iOSで再生ができない

iOSで入れ替えた動画が読み込まれず再生できない

なので以下のようになりました。
source要素を動的につっこむのではなく、素直にsrc属性に入れてるだけです。

function playMovie(mp4, ogg) {
  if ( /AppleWebKit/.test(navigator.userAgent) ) {
  // iOSのとき
    $('#videoElm')
      .attr('src', mp4); // 素直にsrc属性に書く
  } else {
  // iOS以外
    $('#videoElm')
      .html([
        '<source src="' + mp4 + '" type="video/mp4" id="mp4" />',
        '<source src="' + ogg + '" type="video/ogg" id="ogg" />'
      ].join(''));
  }
}

※ UA判定はもっと良い方法あったらそっち使ってください。

まだまだ間に合うCanvasでアニメーション入門(まとめと実践)

JavaScript Advent Calendar 2010も22日目!あと3日ですよ。僕はちょうど学んだばかりのCanvasをアウトプットもかねて、まとめと実践を書いてみます。知ることと行うことは同一である、最近行ったセミナーでも言ってました。

jsdo.itにはほんまにこれCanvasなん?なサンプルいっぱいありますね。あーいうの書けるようになりたいなぁとか思いつつ、jQueryばっかりさわってた僕は.animate()メソッドの便利さに取り憑かれていたので、Canvasの絵もまだ上下左右で動かすくらいしかできません。慣れが必要です。。

どうでもいい情報としてCanvasの読み方なんですけど、「キャンバス」じゃなくて「カンバス」が正しいようです。キャンバス・カンバスどっちでもよさげ。僕はキャンバスって読んでましたけどカンバスにします。

前置きはこれくらいにして、今回は次のようなカラフルな箱が延々と落ちていくっていうのを書いてみます。今回のサンプルはすべてCanvasなのでIE8以下だと見れないと思います。あとjsdo.itのサンプルをいくつか貼っているのでRSSだと表示されません

先に参考サイト紹介してますが、いらない人は飛ばしてください。レッツカンバス!

Read more

2010年の人気エントリーまとめましたん!

2010年の人気エントリーまとめました! – MOLに触発されて(まねじゃない)振り返りもかねて僕も書きますです。

でも5月にドメインを変えたので5月からの集計です。それ以前も統合するのは主にめんどくさい的な理由でやりたくないです・・・アクセス数も全然多くないですけど、今年は初めてから今までで一番記事書いた気がする。特に12月に入ってからは14日以外の平日は毎日更新した・・・!どこかで誰かの役にたてばうれしいです

Read more

個人的に使うことが多い9つのjQuery・JavaScriptスニペット

プラグインだけど公開してないものだったり、いつも使ってるプラグインとの組み合わせだったり、ショートコードとかなんだか色々。どれもCodaにスニペットで登録してて一発変換で使ってます。

コードはアレなんですけど、ひょっとしてひょっとすると誰かの役に立つかもしれないので恥ずかしながら公開します。対象はちょっとだけJS書けるとかそういう人ですかねたぶん。書ける人はもっとキレイなやつ使ってるでしょうし。(もっときれいに書けとか何そのコードとかも歓迎)

紹介してるスニペットたち

まとめたやつのファイル

今回紹介した原文コードをまとめたものと、圧縮したものを置いておきます。

ライセンス(が気になる人へ)

WTFPLライセンスにしておくので好きなようにつかってください

Read more

書いてるひと

nori
nori
- フロントエンド・エンジニア
Location
- 東京