WIZ-CODE.blog

JavaScriptやAjaxをテーマとしたブログです。

*

音楽プレイヤーのjQueryバージョン

      2010/02/07

soundmanager2 jQueryの勉強のかたわら、以前Prototypeで作った音楽プレイヤーをjQueryのプラグインとして作り直すことにしました。 ⇒jQueryとSoundManager2の音楽プレイヤー jQueryは1.4バージョンを使用。いつのまにかファイルサイズが大きくなっているなと思いきや、速度は前の1.3より格段にアップしているとのこと。とはいえ、圧縮しないと150Kという巨漢サイズで、Prototype最新バージョンも上回っている。ただし、縮小版(70K)も用意されているし、Gzip圧縮では20K近くまで小さくなるらしい。Flashの音楽機能をJavaScriptのみで制御できるSoundManager 2 は、Flash 9以上のバージョンやCanvasなどのグラフィック機能を利用してさらに高度な表現ができるようです。ただ、IEではFlashを入れていてもなぜか音楽が鳴らないといった不具合が報告されるらしく、自分のスクリプトではInternet Explorerの独自実装BGSOUNDで鳴らすようにしています。もし、IEでもFlash優先で機能させたい場合は、jquery_music.jsの以下のコードを変更してください。
	 
	........
	........
	/* 72行目くらいに書かれている条件分岐はIEで機能しない */
	
	if (navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']) {
		var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
		//var flashplayer_ver = parseInt(plugin.description.match(/\d+\.\d+/));
		if (plugin) 
			loadForFlash();
	}
	........
	........
	 
	 
	........
	........
	/* そのため、コメントアウトするか削除するなどして必ずloadForFlash()メソッドが
	 * 呼びだされるようにする。 */
	
	//if (navigator.plugins && navigator.mimeTypes['application/x-shockwave-flash']) {
		//var plugin = navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin;
		//var flashplayer_ver = parseInt(plugin.description.match(/\d+\.\d+/));
		//if (plugin) 
			loadForFlash();
	//}
	........
	........
	 
(追記 10/02/07) 後から考えてやはりIEはデフォルトでFlash優先にすることにしました。現在jquery_music.jsはブラウザ分岐部分を書き換えたバージョンになっています。

 - JavaScript/Ajax , , ,