サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
dev.convexstyle.net
Javascript と言えば、自前か JQuery 関連以外はあんまり使ったことが無いので library とか良く分からないですが、最近 thickbox 風の fancybox っていうのをプロジェクトで初めて使ってみた。使い方は物凄く簡単であえて説明をする必要もないので使用方法を見てもらうとして、こんな感じの見た目。 ここ で、決まった URL 静的に html に記述、もしくは動的な URL を PHP 等でレンダリングして fancybox を割り当てるのは簡単なんですが、DOM 生成後に fancybox への URL をイベント毎に変更して割り当てるにはどうするんだと思って少しはまったのでメモ。 例えばユーザーの入力要素を付加した動的な URL(Zend Framework では Get 変数や UserParam 変数)を iframe 表示する場合。表示エリアが十分で、
先日のエントリー(FlvPlayBack Component エラー + AS3)で記述した FlvPlayBack Component で存在しない Flv へアクセスした際の Error が Catch 出来なかったことについて、どなたか分かりませんが有難いコメントを頂きまして解決しましたので、メモ。関数の詳細を見落としてたー!! FlvPlayBack に getVideoPlayer(index:Number) というメソッドがあって、クラス内に FlvPlayBack が 1 つのみある状態(activeVideoPlayerIndex が 0 )なので getVideoPlayer(0) で VideoPlayer オブジェクト を作成し、このオブジェクトの netStream という getter メソッドで NetStream オブジェクトを取得し、後は通常の NetSta
最近のプロジェクトを通して納期の都合上 FlvPlayBack を本格的に使ってみたのだけど、「存在しない Flv の URL を source に指定するとエラーが取得出来ない。」という挙動に悩まされた。色々なパターンで様々な挙動をするので気づいた点を忘れない様にメモ。 FlvPlayBack の source プロパティに存在しない URL を設定した場合に Error が Throw されるんですが、これは try/catch で処理すればと思って色々トライしてみたんですが、全然 catch してくれませんでした。source を指定して FlvPlayBack を play する流れで、おそらく処理的なタイムラグなのか play がコールされた後に source 側で Error を Throw するのでどうしてもプログラム上でエラーを catch 出来ないのではないのかなとか考え
個人的に勉強していた Zend_Amf_Server を実レベルの仕事で初めて Flash Remoting として使ってみた。プロジェクトは Flash ゲームで、もう 1 人の Flash デベロッパーと連携してゲーム以外の AS3 のバックエンド/モデルクラス/ビュークラス/コントローラ系のプログラム、Remoting 系、PHP/MySQL 開発、サーバ少々を担当。 Zend_Amf_Server は物凄くいいですね。何がいいかって Zend を普通のウェブアプリケーション感覚で開発できるので連携するバックエンド部分を MVC で組めるし、Zend_View_Smarty とか Zend_Db_Table とか Zend_Registry とか Flash と連携することを意識しないで使えるから超楽だ。Zend を使ってる Flash デベロッパーなら学習コストなし。PHP/MyS
AIR アプリケーションで大きく分類して1つの機能のみを保持する場合は、特に意識せずに開発すればいいんですが、ふと、機能が横並び的に拡張して、親アプリケーション(mx:WindowedApplication や mx:Application)ではそのレイアウトのみを管理し、各子クラスがそれぞれ1つのアプリケーションの単位として考えられる場合はどうやるんだろう・・・と思ったので、調査してみた。 要は、各アプリケーションを表すアイコンがズラッと並んでいるだけで、各アイコンをクリックした時点で、各アプリケーションが起動する感じにしたい。 mx:Window 概略図 最初は、「ポップアップ機能を使うんじゃないのか?」と思い、NativeWindowInitOption や NativeWindow クラスを使用し、新規ウィンドウを立ち上げてみたが、これだと画像などを NativeWindow オ
Flash Media Server 3 の Streaming 配信 会社で Flash Media Server 3 を触る機会があり、H.264 のストリーミング再生を試してみたのでメモ。 H.264 は従来の On2 VP6 コーデックよりもパフォーマンスと効率が向上した動画圧縮規格で、Flash Player 最新版(Flash Player 9.0.115)であれば、従来の .flv や .mp3 に加え、H264 を使用した他の動画フォーマット(.mov、.avi、.mp4 など)を Streaming 再生させることが可能。Adobe Flash on で HD 画質の動画を普通に見れますが、この画質は恐ろしく奇麗過ぎる!もはや映画レベルの画質をウェブでコンテンツとして普通に配信出来ますね。Flash Media Streaming Server 3 はそこまで高くはなく購
前回のエントリーで、Flash Media Server 3 を使用した Streaming 配信に関して記述しましたが、今度はウェブディレクトリより通常の Progressive 再生をしてみたのでメモ。 前回は NetStream.play の記述は ns.play("mp4:sample.mp4"); や ns.play("mp4:sample.mov"); の様な形式で記述し Streaming 再生させていたが、Progressive 再生では NetConnection.connect(null) にして同様な記述では H.264 の動画コーデックで作成された MPEG-4 や MOV を再生できないようだ。 もろもろ調べていたら flashcomguru の記事に同様な問題で、下記の様な記述が。 "That did the trick and my mp4 files no
アプリケーションサーバ(今回は Red 5 を使用)から streaming 配信で flv ファイルを Flex Framework の VideoDisplay Component に表示しようと思ったが、イベントドリブン的なプログラム内で、任意のタイミングにより FLV を seek させて動画の PlayHead を管理しようと思ったがうまく処理が動かなかった。(上手くいくかもしれないですが、自分ではどうにも出来なかった。) 例えば、下記の様なクリックイベントで flv の streaming 配信させる簡単なスクリプトを組んでみる。これでも streaming 配信は可能なのだが、NetStream.seek の様な PlayHead の移動をさせる機能を持ち得ていないので、最初から再生させるには flv の再生が終了するのを待って再度クリックしないと先頭から再生しない模様。もっ
Apollo Mini Camp で Apollo for Adobe Flex Developers 等の著者の Mike Chambers さんが AIR から SQLite を導入すると話していましたが、AIR より実際に導入されたので、現在開発中の AIR アプリケーションに実際に実装してみた。もともと必要な情報を FileStream クラスでローカルに xml の様なファイル書き出ししようかと考えていたが、データをもっと Secure に扱いかったので SQLite を使用。まだまだもっと使えて欲しいなあ…という部分もけっこうあるんですが、まあ、Beta の段階だしね。 使用方法は、基本的な SQL 構文の知識と AIR で実装されている SQLConnection class、 SQLStatement class、SQLResult class、File 系の class
凄い基本的な話なのですが、FLV を使用するときは絶対パスでのプログレッシブ再生か FMS を利用したストリーミング配信でのみ開発したことがあったのですが、先日相対パスで読み込もうとしたら読み込めず、httpHeaders で調べたら 404 が返っておかしな挙動をしていたのでメモ。 理由は単純なんですが、仕様を明確に目にしたかったので調べたらこのページにこんな記述が。 注意:ビデオクリップがFLV形式の場合、FLVファイルのパスは相対パス(SWFを基準にした相対位置)で指定されるので、サーバ上で使用するのと同じディレクトリ構造をローカルでも使用できます。 ディレクトリ構成図サンプル なるほど。 jpg、swf、xml、css、txt などの場合は swf を表示させる html の場所を基準に相対パスを設定するが、flv は違うんですね。上記の図で index.html に index
自分の様に Flash 開発に慣れている場合、Flash の時間軸の概念に基づいて画面遷移やコンテンツの切り替えを行う。簡単に言えば、ログインは frame1、メインコンテンツは frame2、ログアウトは frame3 にそれぞれ gotoAndStop() しフレームを移動させることによって画面遷移を行う。 しかし、Flex の開発になった途端、結構な Flash をやる方はこの時間軸の考えが無くなり少し混乱することがあるんじゃないか。最近、自分は会社で本格的に AIR アプリ制作と、その他個人で Flex 開発をしていて、少なからずこのポイントで悩んだのでメモ。 色々と検索してみると、同様な記事が FXUG にありました。 ・記事1 ・記事2 全く分からなかった時は ActionScript で制御するのか、でも凄い効率悪いし Flex Framework を使っている意味無い
会社でも以前話題になったんですが、それ以前からFlickr の画像アップローダーが生かしてるな~って思ってどうしてるんだろう思ってんですが、SWFUpload っていう便利クラスがあるんですね。どう実現してるのか知りたくて横取り丸で Flickr の通信を見た際にこんな swf があったんで、バイト数を External Interface とかで JS 側に渡してるのかなって思ってたんですが、こんな便利クラスがあるんだったら使ってみようってことで試してみました。 SWFLoad Flickr Uploader 使い方はいたって簡単でココを参考に作成しましたが、SWFLoad のトップページ同じ構成で、SWFUpload.js とか example_callbacks.js をそのまま同じように読み込んで使ってみた方が早い。もっとオリジナリティを出すには CSS だったり JS をカスタマ
ActionScript 3.0 で開発中、何気に FlashVars の変数を取得しようと思ったんだけど、そういえば! 従来のActionScript 2.0 で FlashVars で渡ってきた変数を _root からアクセスして簡単に取得するやり方は ActionScript 3.0 だったら_root が removed されてるから当てはまらないですよね。どうするんだっけと思い検索したらやっぱり変更していたのでメモ。 Shape, Sprite, Bitmap, SimpleButton, TextField, MovieClip class 等は DisplayObject(display list に見なされるすべてのクラスの基盤クラス)の subclass に当たり、この DisplayObject が読み込まれる大本の swf の loaderInfo プロパティ から
Flex Builder 2.0 で開発のアプリケーションから AMFPHP などのサーバプログラムに通信する際には、デフォルトでは Remote Object を使用して通信するのがスタンダードで、慣れると特に問題は無いのですが、それよりも便利な Flex framework があるんではないかと検索していたら、s2flex2-components というコンポーネントがあったのでメモ。Remoting Object では少し煩わしかった services-config.xml の様な config.xml の設定やFlex compiler への設定が無くなり、少ない労力と直感的に操作できるのでかなり快適です。 ということで Remote Object と s2flex2-components を使用した Remoting の方法について対比してみたいと思います。 (前提) Remo
SWFAddress は SWFObject と共に使用し、Flash の各コンテンツの遷移に対して、パーマリンク提供してくれる便利クラス。 html に Javascript を読み込み、Flash に ActionScript クラス(バージョン 1,2,3 に対応)を設定することで、Flash 8 + からサポートされた External Interface class を使用して URL を変更することができる。これによってブラウザの Back、 Forward、Reload に対応し、ブックマークすることも可能。 これで Flash の欠点であったリロードごとの最初からのローディングを回避出来る様になります。Flash の Photography サイトとかだと好きな写真のページにダイレクトにいけたり、EC アプリの情報保持や、LocalSharedObject を応用した形で使
従来の ActionScript 2.0 でサポートされていた XML Class は XML Document と名前を変更し flash.xml package 内に移行され、ActionScript 3.0 からは XML データを処理するために、ECMAScript for XML (E4X) specification がサポートされた。 E4X とは ECMA-357 standard の ECMA International によって標準化された XML を処理する ECMAScript 拡張言語。このクラス導入により、Flash 内での XML parse 処理が格段に容易になっただけではなく、標準化された言語仕様に基づくことで、Javascript 等の他言語へのノウハウのバイパスがスムーズになりそう。 今回は、現在個人制作で Flickr を使った簡単ツールを作ってい
最近数ヶ月前に sakura から借りた専用サーバでモロモロ自分のイメージしているモノを作るために、色々インストールしてみて検証検証。Flash Media Server を使って作りたいものがあるんですが、個人では高くて手が出ないので同機能の RED 5 をインストールしてモロモロ試してます。で、フリーでここまでいけるんかと結構可能性を感じてました。それに基づき、テストでウェブカメラからの記憶ストリーム FLV の最初のフレームを動的にスナップショットするために FFMPEG を Fedora Core 5 にインストールするもすんなりいかなかったのでメモします。 (1)FFMPEG サイト上で書かれている通り、subversion で作業コピーを作成しインストール。 svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg ./c
Flickr の個人アカウントページにある RSS Feed(RSS 2.0)は api.flickr.com 上に置かれており、http://api.flickr.com/crossdomain.xml で確認できるように、<allow-access-from domain="*"/> 設定なので、別サーバからでも crossdomain 問題を回避してこの XML を Flash 内で利用できる。Flickr では便利な API が準備されているので特に RSS を使用しなくても様々な事ができるが、簡単にブログパーツを作る際などはこの RSS が結構便利。 ということで、これを ActionScript 2.0 で解析し、同様な事を ActionScript 3.0 で行った。 サンプルの RSS Feed は下記の自分のモノを利用した。今回は、この RSS の構造から各 item
PHP だと shuffle 関数であっさり Array をシャッフルしてくれるけど、Flash は別。 かなり基本的な内容だけど、class で使い回し MovieClip を上手く操作すれば表現面に重宝できるので記述。 shuffleArray class class shuffleArray { private var _origLen:Number; private var _origArr:Array; public function shuffleArray() { } public function setArray(arr:Array):Void { this._origLen = arr.length; this._origArr = arr; } public function getArray():Array { var newArr:Arr
Flash で http 非同期通信する Flash Remoting には AMFPHP、PHPObject、Flap、Coldfusion Component とか複数ありますが、個人的には AMFPHP が好きなのでよく使っているんですが、問題は Flash Remoting で生じるデバッグ方法。 Flash Remoting のデバッグ方法構成図 Remoting 関連のデバッグには大抵 NetConnection Debugger を使ってデバッグしますが、動作が不安定であんまり使用したくありません。そのため PHP 側でテキストを作成しデバッグする"FileDumper"というクラス使用し、サーバ上でこのテキストを vi で直接開いてエラー情報を直接認識した方がかなり効率的で time-effective!実際にアプリケーション作成時にかなり助かってます。 以下、FileDu
昔、www.flickr.com は crossdomain.xml で に設定されていた記憶があった(この記憶も定かではないですが。。。)ので、Flickr の新着アップロード写真の RSS を flash 内でダイレクトに parse して、あるアプリケーションでビジュアライズしていたのですが、自分のサーバにアプリケーションをアップロードしてテストしたら、最近は crossdomain.xml 自体が www.flickr.com のサーバにはすでに存在せず、当然の結果ですが、別サーバにある自分のアプリケーションから flickr の新着用 RSS を crossdomain のセキュリティ問題で読み込みに失敗。 今は Flickr の API Key を使えば簡単に crossdomain を回避して何でも作れるんですが、世界中の多くの人が写真をアップロードしていく Flickr
携帯動画をサーバで動的に FLV に変換したリ、mov などの動画ファイルを QuickTime Pro などのオーサリングソフトフェアで FLV 書き出しした場合、"モノ"によってはエンドが取れない FLV が混在する。言い変えれば60秒の動画が 59.382 秒とかで実質止まってしまうのである。(このエンドを取れない動画は特定の携帯機種に依存しているのか、変換時の問題なのか、動画作成時の問題なのかよく分からないので、この問題に関して分かってる人は教えていただきたい!) エンドが取れない FLV のエンドを取る方法 動画のエンドを取る方法は、NetStream Object の onStatus イベントハンドラへ渡る情報オブジェクトの code プロパティが NetStream.Play.Stop に一致するのを確認するのが一般的だと思うのですが、エンドの取れない動画に関してはこの一致
最近 YouTube が Video サイトとしてはかなりの人気で、何人かのクリエイターやプログラマーの方々がアプリケーションを作ってますが、自分も YouTube - snapshot というアプリケーションを作ってみた。 The screenshot of YouTube - snapshot コンセプトは、YouTube から動画のキーワード検索して HTML 上に表示し、興味のある動画を Flash 内で再生。この動画のこのシーンが面白いとかブログに書き込んで人に伝えたい場合に、YouTube - snapshot で簡単に読み込んだ動画の好きなシーンのスナップショットを取ることです。 【技術】 Linux、Zend Framework、Proxy、MySQL、PHP、Smarty、Pear、Flash 8、Javascript、CSS、Photoshop、Express Ins
社内のブログサービス(JUGEM)で、以前開発していた JUGEM Desktop を 1.2 より 2.0 にアップデートしました。 Flickr 機能を追加し、自分の Flickr スクリーンネームでログインすれば、ブラウザ経由ではなく、AIR アプリケーションから直接ブログに最大8枚までの Flickr 写真とともに記事をエントリーすることができます。インタフェース的にはドラッグ&ドロップで写真を記事に追加する感じです。 写真好きな人とか、Flickr は Englishで JUGEM は日本語で切り分けたい人とか、ブラウザ経由が面倒な人はどうぞ。 詳細:http://jugem.jp/fun/jugemdesktop/ JUGEM Desktop 2.0 【使用技術&環境】 Flex Builder 3.0、Flash CS 3 Professional、ActionScript
これまでは、開発・制作した swf ファイルのバージョンがユーザーのバージョンよりも高かった場合、一度 Adobe(旧、Macromedia)のサイトに移動して最新の Flash Player をインストールしてから目的とページに戻ってくるといった、非常に効率の悪いインストールが通常だった。 こうしたプロセスを通ってでもユーザーが全員また元のサイトに戻ってきてくれればいいが、Flash Player のインストールの最中にめんどくさくなってインストール自体を止めたり、インストールが完了しても元のサイトに戻ってこないユーザーも少なからずいることが想像される。自分が会社で開発しているサービスなどはこういったユーザーの行動は致命的なのでどうしたら回避できるだろうかと考えていたら、Adobe からあり難い事に『Express Install』というパッケージを配布していたので使ってみた。 Exp
このページを最初にブックマークしてみませんか?
『DEV.CONVEXSTYLE.NET』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く