結構はまったのでメモ
まず、以前のエントリーでFMS経由で動画ファイルを指定する際は拡張子が不要ということを書いたけど、これは正確ではなかった。
正確には、[FMSにflv形式でアップされているファイル]にアクセスするときは、拡張子を書かないが正解。
では、f4v形式や、mp4形式のファイルをアップした際はどうするか?
単純に拡張子をつければいいわけではなかった。
ファイル名の頭に、[mp4:]をつける必要があった。
//独自プレイヤーでの実装例(いろいろ省略)
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://hoge.moge.ore/dore");
var ns:NetStream = new NetStream(nc);
ns.play("mp4:hoge.mp4");
//ns.play("mp4:hoge.f4v");//f4v形式での例
以上を踏まえて、FLVPlaybackを利用する際のパス指定も同じにしようと思ったらそうはいかなかった。
悪い例
//誤ったファイルパスの指定
var flvPlayback:FLVPlayback = new FLVPlayback();
flvPlayback.play("rtmp://hoge.moge.ore/dore/mp4:hoge.mp4");
これだとうまく接続できなかった。
FMSのヘルプを観てると、違った書き方をしてる例があった。
(19ページの上の方)
正しい例
var flvPlayback:FLVPlayback = new FLVPlayback();
flvPlayback.play("rtmp://hoge.moge.ore/mp4:dore/hoge.mp4");
[mp4:]の記述はファイルの頭ではなく、ひとつ上のフォルダに記述するらしい。
なんでかは詳しくわからんけども、今回はこれでうまく接続できた。
うまくいかない人は試してみるといいかも。
Tags: AS3, FMS
ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL
↑がふとほしくなり、Twitterで聞いてみるも見つからず。
ググってみるも見つからず。
・・・簡単そうだから自分で書いてみたけどよくわからずw
そしたらflabakaさんが作ってくれた!
ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL:flabaka
jsflのソースを読んでみて、convertToSymbol()なるメソッド使えばいいのかと知る。
自分の使いたかった機能としてflabakaさんとことはちょっと違うものにしたので一応公開。
選択したオブジェクトを重なりが下から順に連番でMovieClipに変換。
さらにシンボル名と同じ名前をインスタンス名に設定される。
※
矩形ツール等で描いたシェイプはそのままではシンボル化できずエラーになる。。。
シェイプは、グループ化しておけばOK。
(プリミティブ矩形ツールで書いたものはそのままでもOK)
var mcName = prompt(“MovieClipの名前を指定”,”parts”);
var startIndex = eval(prompt(“連番の初期値を指定”,0))
var dom = fl.getDocumentDOM();
if (dom.selection.length)
{
var array = dom.selection;
dom.selectNone();
for (var i = 0 ; i < array.length ; i++)
{
array[i].selected = true;
dom.convertToSymbol("movie clip", mcName+(array.length -1 - i+ startIndex),"top left");
dom.selection[0].name = mcName+(array.length -1 - i+startIndex)
dom.selectNone();
}
}
[/sourcecode]
ダウンロード:object2Symbol.mxp
>flabakaさん
勉強させてもらいました!ありがとうございまっす!!
win:サーバー(synergy1.3.1)、mac:クライアント(synergyKM)で出来た。
mac側のsynergyKMはGUIで設定可能。
特にAppleScript書かずともログインで自動起動した。
(メニューバーに追加ってのにチェックしたせいかな)
win側の設定では、macのコンピューター名には.localをつける必要なし。
(synergy1.3.1では必要だった)