Latest entries
Macにgitをインストールしてそのままgithubにも登録
まずはMacにgitをインストールしてみる
MacPortsでインストール
# sudo port install git-core +svn
エラーが出た
# Error: Target org.macports.activate returned: Image error:
/opt/local/lib/perl5/5.8.8/darwin-2level/auto/List/Util/Util.bs is
being used by the active perl5.8 port. Please deactivate this port
first, or use the -f flag to force the activation.
# Error: The following dependencies failed to build:
p5-scalar-list-utils p5-svn-simple subversion-perlbindings apr
apr-util cyrus-sasl2 neon serf subversion p5-term-readkey rsync popt
# Error: Status 1 encountered during processing.
そういえばportのアップデートなども行っていなかったな・・・ちゃんとやろう。
自分の環境では「/usr/local/src/localports」に設定してあったので、そこまで移動してportindex
# cd /usr/local/src/localports
# sudo portindex
次にアップデートを行った
# sudo port -d selfupdate
# 既にgitをインストールされている場合はdeactivateする # インストールされていないと下記のようにエラーが出る
# sudo port deactivate git-core
# Error: port deactivate failed: Registry error: git-core not
registered as installed & active.
ではインストール
# sudo port install git-core +gitweb +svn
.........
---> Installing git-core @1.6.3.3_0+doc+gitweb+svn
---> Activating git-core @1.6.3.3_0+doc+gitweb+svn
---> Cleaning git-core
インストール完了。これで準備が整ったので、そのままgithubに登録したのでその手順をメモメモ。
ここからはgithubへの登録手順
githubのURLはこちらgithub.comからアクセス可能1. ユーザー登録
まずはユーザー登録するのだが、ここで「SSH Public Keys」を登録する項目があるのだが未入力でスルーした。
# 後で登録も出来るし追加もで出来るので問題無い。
登録すると自分のホーム画面となる。

github01 posted by (C)kishir
画面にある「Create a Repository」からレポジトリを作成する。リンクをクリックするとレポジトリの作成画面となる。
ここで入力するのはとりあえず「Project Name」だけでOK。

github02 posted by (C)kishir
そうするとgitのレポジトリが作成されて、設定方法が表示されるので指示に従って行う。

github03 posted by (C)kishir
2. 「SSH Public Keys」の作成と登録 (ここからはMacでの作業
# 今回は公開鍵を「id_rsa」では無く「github_id_rsa」で行っています。
# 参考ページはhttp://github.com/guides/providing-your-ssh-key#macosx-3
# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/tom/.ssh/id_rsa): ← ファイル名はid_rsaでOK? いや今回は違う名前が良いので、github_id_rsaを打ってエンター
Enter passphrase (empty for no passphrase): ← パスワードの設定
Enter same passphrase again: ← 上記のパスワードを再入力
Your identification has been saved in /Users/.ssh/github_id_rsa.
Your public key has been saved in /Users/.ssh/github_id_rsa.pub.
これで公開鍵のペアが完成したので、そいつらを「.ssh」以下に移動
# mv github_id_rsa .ssh/
# mv github_id_rsa.pub .ssh/
次に先ほど作成したgithub_id_rsaの中身をクリップボードへコピーする
# cat github_id_rsa.pub | pbcopy
これでコピーされているはずなので、そのままgithubサイトの公開鍵設定のテキストエリアへ貼り付ける。
# 公開鍵は会社用や自宅用など複数の設定が可能
configファイルの設定は「.ssh/config」 に下記を追記する。
これはホスト名が「github.com」の場合は、この設定で行うよ!ってことがつらつらと書かれている。 # githubサイトに記載されている
Host github.com
User git
Port 22
Hostname github.com
IdentityFile ~/.ssh/github_id_rsa
TCPKeepAlive yes
IdentitiesOnly yes
3. レポジトリの作成
# git config --global user.name 'ユーザー名'
# git config --global user.email '登録メールアドレス'
次にMacのローカル上でのgitの作業ディレクトリを作成
# mkdir jqplugin
# cd /Users/projects/workspace/プロジェクト名/
# touch README
# git init
Initialized empty Git repository in /Users/projects/workspace/プロジェクト名/.git/
# ls -la
total 8
drwxr-xr-x 4 user group 136 Jul 30 15:55 ./
drwxr-xr-x 3 user group 102 Jul 30 15:55 ../
drwxr-xr-x 9 user group 306 Jul 30 15:55 .git/
-rw-r--r-- 1 user group 1379 Jul 30 15:54 READEME
.gitというディレクトリが出来ているの確認してから、 ファイルをadd(追加)してステータスを確認してみる
# git add READEME
# git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached <file>..." to unstage)
#
# new file: READEME
#
確認が出来たのでコミットしてみる
# git commit -m "こみっとてすと"
[master (root-commit) 487cdff] こみっとてすと
1 files changed, 28 insertions(+), 0 deletions(-)
create mode 100644 READEME
# git remote add original git@github.com:ユーザー名/作成したディレクトリ名.git
# git push original master
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (6/6), 1.17 KiB, done.
Total 6 (delta 0), reused 0 (delta 0)
To git@github.com:ユーザー名/作成したディレクトリ名.git
* [new branch] master -> master
これで完了したので、最後にgithubで確認してみる。
あー疲れた。結構長く書いたな。まぁーたまにはいっかなぁー ![]()
- Posted at:
- 2009/07/31 22:20:45
- 0 Comments
- 0 TrackBacks
- Trackback:
- http://kishi-r.com/2009/07/31/mac_git/trackback/
禁Twitter約2ヶ月目、そして「NITRAIDSB」 からDVD「RAIDBACK」発売

nitraid-raidback posted by (C)kishir
禁煙は出来ないので、禁Twitterをしている最中。
何故やろうかと思ったかというと、色々な人のつぶやきが何かと気になる自分が居て、
そのせいで集中出来ない自分も居るわけで。仕事が忙しいときはうざくなるんだよなぁー。
まぁー単純に自分に負けているだけです ![]()
さてと「NITRAID」のスケボーメイン「SB」からDVD「RAIDBACK」が出てきたのですげー気になっていたんだが、
友達がDVDを購入したので借りてゴニョゴニョした。
いやぁー良かった、良かった。
何が良かったかというと・・・
・今まで色々なスケボーの映像(DVDやVHS)を見てきたが、これが一番見やすい
・トラックを「MACKA-CHIN」がプロデュースしているので、自分好みの音
・出演しているライダーが多いので、うれしい。
エンドロールでは色々と失敗している映像が含まれているのだが、みんなオラオラしてるなぁー。
あんな風に無茶しないとレールなんて挑めないよねw
もうちょっと勇気を出して、色々と攻めてみたい気持ちになる映像だった。
- Posted at:
- 2009/06/13 18:55:38
- 0 Comments
- 0 TrackBacks
- Tags:
- sk8
- Trackback:
- http://kishi-r.com/2009/06/13/nitraid_raidback/trackback/
THA BLUE HERBの新曲「STRAIGHT YEARS」と「LIVE AT CORE TOKYO,99.5.2(DVD)」が発売
遂に出ました。(まだCDだけだけど・・・7inchは?
3rd Albumの「LIFE STORY」以来2年ぶり。
価格はなんとワンコイン「500円」
公式ホームページ「TBHR [THA BLUE HERB RECORDINGS]」でPVが閲覧可能になっていた。発売日は09/05/20だけど、
「discunionお茶の水CLUB MUSIC SHOP」などでは入荷しているみたい。
DVDの「LIVE AT CORE TOKYO,99.5.2」の価格は、 「2,800円」
こちらは既に丁度10年後になる「09/05/02」の恵比寿リキッドルームにて、ゲット済み。
この日は最高の日だったなぁ。
![]() | STRAIGHT YEARS THA BLUE HERB RECORDINGS THA BLUE HERB RECORDINGS(2009-05-20) 新品価格:¥ 500 ASIN:B00270NIIC |
- Posted at:
- 2009/05/20 08:08:14
- 2 Comments
- 0 TrackBacks
- Tags:
- Music
- Trackback:
- http://kishi-r.com/2009/05/20/tha_blue_herb_straight_years/trackback/
bit.lyのAPIを試してURLを短縮してみた
参考にしたサイト:
・Python: URL短縮サービスbit.lyのAPIを使ってみた上記サイトにある「bitly_test.py」を見れば大体どんな事が出来るのかが解る。
一応APIのドキュメントを自分のメモ用に下記リンク先へまとめておいた。
・短縮URLサービス bit.lyのAPI上記にまとめた内容を元に色々試してみる。
1.「URLを短縮」
まずは自分のサイトで「URLを短縮」を試してみる。
import sys, os, re, urllib, urllib2
import simplejson
url = "http://kishi-r.com/"
info_url = "http://api.bit.ly/%s?version=2.0.1&%s=%s&login={自分のAPI用ログイン名}&apiKey={自分のAPIKey}"
url_data = urllib2.urlopen(info_url % ("shorten", "longUrl", url)).read()
url_info = simplejson.loads(url_data)
print url_info
これで短縮された内容がjson形式で返ってくる。その結果が下記になる。
{u'errorCode': 0, u'errorMessage': u'', u'results': {u'http://kishi-r.com/': {u'shortKeywordUrl': u'', u'hash': u'SOC0w', u'userHash': u'Oyrgz', u'shortUrl': u'http://bit.ly/Oyrgz'}}, u'statusCode': u'OK'}
ここで短縮されたURLはそのまま使用するので、適当な変数へ入れておく事にする。
bitly_url = url_info["results"]["http://kishi-r.com/"]["shortUrl"]
print bitly_url
2.「短縮したURLから元のURLを取得」
先ほど短縮したURLから元のURLを取得する。
info_url = "http://api.bit.ly/%s?version=2.0.1&%s=%s&login=kishir&apiKey=R_b23e6cb3351dc3d73c1bb5091c622e4c"
url_data = urllib2.urlopen(info_url % ("expand", "shortUrl", bitly_url)).read()
url_info = simplejson.loads(url_data)
print url_info
結果が下記
{u'errorCode': 0, u'errorMessage': u'', u'results': {u'Oyrgz': {u'longUrl': u'http://kishi-r.com/'}}, u'statusCode': u'OK'}
3.「URL先の情報を取得」
URL先のサイト情報を取得する。info_url = "http://api.bit.ly/%s?version=2.0.1&%s=%s&login=kishir&apiKey=R_b23e6cb3351dc3d73c1bb5091c622e4c"
url_data = urllib2.urlopen(info_url % ("info", "shortUrl", bitly_url)).read()
url_info = simplejson.loads(url_data)
print url_info
結果が下記
{u'errorCode': 0, u'errorMessage': u'', u'results': {u'Oyrgz': {u'hash': u'SOC0w', u'keywords': [], u'shortenedByUser': u'kishir', u'exif': {}, u'userHash': u'Oyrgz', u'contentLength': u'', u'id3': {}, u'calais': {}, u'longUrl': u'http://kishi-r.com/', u'version': 1.0, u'htmlMetaDescription': u'\u30ec\u30b3\u30fc\u30c9\u3068\u30b9\u30b1\u30dc\u30fc\u3068\u672c\u3068\u30b3\u30f3\u30d4\u30e5\u30fc\u30bf\u30fc\u305f\u3061\u3092\u66f8\u3044\u3066\u3044\u308b\u30d6\u30ed\u30b0\u3002\u30ec\u30b3\u30fc\u30c9\u306f\u8272\u3005\u306a\u30b8\u30e3\u30f3\u30eb\u3092\u805e\u3044\u3066\u3044\u308b\u3002\u30d7\u30ed\u30b0\u30e9\u30e0\u306fPython\u3084Django\u30fbjQuery\u306e\u4e8b\u3092\u66f8\u3044\u3066\u3044\u308b\u4e8b\u304c\u591a\u3044\u3002', u'htmlMetaKeywords': [u'kishi-r', u'kishi', u'python', u'Django', u'jQuery', u'sk8', u'record'], u'calaisId': u'', u'thumbnail': {u'large': u'http://s.bit.ly/bitly/SOC0w/thumbnail_large.png', u'small': u'http://s.bit.ly/bitly/SOC0w/thumbnail_small.png', u'medium': u'http://s.bit.ly/bitly/SOC0w/thumbnail_medium.png'}, u'contentType': u'text/html; charset=utf-8', u'users': [u'kishir'], u'globalHash': u'SOC0w', u'htmlTitle': u'kishi-r.com', u'metacarta': [], u'mirrorUrl': u'', u'keyword': u'', u'calaisResolutions': {}, u'surbl': 0}}, u'statusCode': u'OK'}
MetaDescriptionやキーワードなんやらも含まれているみたいだ。
他にもエラーコード取得などもあるが、今回はここまででいいやぁ。
とりあえず試して出来たので、必要なパラメーターなどを設定して返ってくるクラスでも作っておけば、何かと使えそうだなぁ。
- Posted at:
- 2009/05/19 12:32:18
- 0 Comments
- 0 TrackBacks
- Trackback:
- http://kishi-r.com/2009/05/19/bit_ly_api/trackback/
mixiカンファレンス2009行ってきました

mixiカンファレンス posted by (C)kishir
行ってきました。
抽選での参加では無く招待状を頂いての参加でした。
このカンファレンスで期待していたこと
・mixiアプリの公開日
・課金サービスの詳細
・広告サービスの詳細
・mixiPlatformの詳細
・iPhoneユーザーはいつからデベロッパー登録可能か?
などです。
1.「課金システム」
こちらの名称は、「mixiペイメントAPI」となるようです。
ざっくり書くと、はてなのようなポイント制となり、SAP : mixi = 80 :20(開発者が8割、mixiが2割)のような取り分となるみたいです。
2.「広告サービス」
こちらの名称は、「mixiオフィシャル・アドプログラム」となるようです。
こちらは1ページビュー(PV)当たり一律0.01円を開発者に配分するようになり、PCとモバイルで分配額の上がり方が変わるみたいです。
3.「mixi Platform」
「mixiアプリ」「mixi Connect」「mixi OpenID」を提供ということで、以前からの情報と変わりません。
ただしモバイル版の仕様が本日公開予定との事でしたので、早速サイトを確認したところありました。
4.「今後のスケジュール」
2009年4月23日 mixiカンファレンス2009
2009年8月 mixiアプリ提供開始
2009年9月 モバイル版mixiアプリ提供開始 / オフィシャル・アドプログラム開始
のような流れになるようです。
これに伴い、
「mixi ソーシャルアプリケーション アワード」が行われます。こちらはグランプリになると「100万円」いただけるようです。欲しいーなぁwそのほか個人的に困った事を中の人に聞きました。
5.「iPhoneユーザーはいつからデベロッパー登録可能か?」
iPhoneユーザーは現在開発を行うための申請が行えません。
※携帯電話のアドレスが一意となっているためで、登録フォームの@より後ろを選ぶ項目に、iPhoneのものが無いため
これは1ヶ月は掛かるようなので、ちょっと残念w
家族のアドレスを借りるかして登録する必要がありそうですねぇー。
カンファレンス後は懇親会がありました。
仕事がまだ残っていたため、夜ご飯がてらに食事をいただき帰ってしまいましたが様子を撮っておきました。

mixiカンファレンス懇親会 posted by (C)kishir
結構な人数が居ました。
いろいろなメディアの方やテレビ局の方も居ました。
開発者は少なめの感じですかね。

mixiカンファレンス懇親会 posted by (C)kishir
結構おいしい食事が出てました。
丸いおすしがおいしかったです。

mixiカンファレンス懇親会 posted by (C)kishir
デザートが一番凝っていました。
味も好きでした。
食べ過ぎて帰りおなかが痛くなりましたw

デザート posted by (C)kishir
カンファレンスの資料とお土産(USBメモリ)を頂きました。
mixiのロゴが入ってますね。

mixカンファレンス資料と土産 posted by (C)kishir
mixiアプリに興味がある人は下記からどうぞ。
mixi Developer Centerこちらから登録出来ます。- Posted at:
- 2009/04/24 22:37:56
- 0 Comments
- 1 TrackBack
- Tags:
- Conference
- Trackback:
- http://kishi-r.com/2009/04/24/mixi_conference/trackback/
DVD「STRAIGHT DAYS/AUTUMN BRIGHTNESS TOUR'08」が発売

TheBlueHerb(DVDパッケージ) posted by (C)kishir
遂に発売されたのと、
Amazonギフト券があったので購入。
自分が行った「第17ラウンド!リキッドルーム!!!」は、
2枚組中1枚でしっかりと映像化されていました。
(でもILL BEATNIKは抜けてるんだよなぁー、残念
忙しくちゃんと見られない状況だが、
飛ばし飛ばしで確認した所、6回ほど自分が写っていたw
なんかうれしいなぁー。
あの日、あの時行けなかったあの人にはしっかりと自慢しておいたw
落ち着いたら、しっかりじっくり見ようっと。
とりあえずiPhoneには入れておいたw
中身は「DVD2枚組でブックレット付き」で、下記のような感じ。

TheBlueHerb(DVD中身) posted by (C)kishir
ツアーでやった内容も記載されていました。 (ってかiPhoneで撮影したから見えねぇー

TheBlueHerb(DVDスケジュール) posted by (C)kishir
- Posted at:
- 2009/04/03 00:52:23
- 0 Comments
- 0 TrackBacks
- Tags:
- Other
- Trackback:
- http://kishi-r.com/2009/04/03/dvd_blue_herb/trackback/
インドからのおみやげ「PRETZ」
何気に旨かったw

写真 2 posted by (C)kishir
表は日本語で裏は・・・

写真 1 posted by (C)kishir
- Posted at:
- 2009/03/09 23:40:00
- 0 Comments
- 0 TrackBacks
- Tags:
- Other
- Trackback:
- http://kishi-r.com/2009/03/09/indo_pretz/trackback/
アンビエントやらエレクトロニカやらTwitterのTimeLineが気になった
なんか自分の知らない間にTwitterのTimeLineがめっちゃ盛り上がっていて、それに乗れなかった自分が情けない。。。
Erast / NikakoiやHiroshiWatanabeなんかも出てきているし・・・
くそー!って事で、そこらへんのアーティストをつらつら並べてみよう。
・Akira Kosemura / Tiny Musical

TinyMusical posted by (C)kishir
とか
・schole / Light a Candle

m_39083c7e67e04c49bfc22213717da536 posted by (C)kishir
ここらへんは頂き物。Akira Kosemura最高です。
・凛 / 儚く散りゆく花のように

8204775 posted by (C)kishir
これはV.Aなので、色々なアーティストかつ凜が自ら作曲してきるのもある。
藤原ヒロシのAveMariaなんかも収録されている。
この人の「刹那に過ぎゆく時の」に収録されている
・..... 凛から贈る、"Any"
から高木正勝というアーティストを知った。
これよりも強めのが聴きたい場合は、
・Kenmochi Hidefumi / Emperor

082931 posted by (C)kishir
やら、
・secede / Bye Bye Gridlock Traffic

310C2KVA71L posted by (C)kishir
これよりももっとダークな感じ(デトロイト系)が、
・O.N.O / Signalog

9673074 posted by (C)kishir
The Blue HerbのトラックメーカーO.N.Oの最新アルバム。これは初めて聴いたときに昇天ものだった。
でもうちょい民謡音楽的なのが、
・Chimp Beams / Vibrato

2964914 posted by (C)kishir
とか、
・Deep Dish / Junk Science

312CPF4VMHL posted by (C)kishir
もっとサイケな感じなのは、
・Shpongle / Shpongle Remixed

21PE0XH7MNL posted by (C)kishir
映画のサントラからは、
・Strange DaysのWhile The Earth Sleeps

51CD5CVCXBL posted by (C)kishir
これって確か中学くらいの映画だっけかな?
はまりまくって聴きまくったし、
映画も見まくったwww
気分ではHouseやらトランスも聴くし、元々HIPHOPから入っているので、DJ KRUSHとかHimuro Yoshietsuとかも聴く。
Nujabesとかもはまってたし、Jazzぽいのも好き。
音は大体色々聴く感じです。
後は家でレコード音源でしか持っていないのが多いから、それらも本当はiPhoneで聞ききてーな。
- Posted at:
- 2009/03/02 23:40:43
- 0 Comments
- 0 TrackBacks
- Tags:
- Music
- Trackback:
- http://kishi-r.com/2009/03/02/music_no_life/trackback/
ランチで中目黒「焼きや 銕 tetu」に行ってきた
今日は会社のみんなで、
中目黒にある「焼きや 銕」に行ってきた。いわゆる鉄板焼きやさんですね。
いつもランチだと混んでいて、入れないので諦めていたんだけど今日はすんなり入れたので食べてきました。
注文したのは、ランチメニューにある
「ハーブ豚の鉄板焼き」950円
いやーガーリックチップと味噌が付いていて、
それにハーブ豚を付けて食べるのですが、
これがまた旨かったぁ〜。
その写真がこれ

IMG_0232 posted by (C)kishir
ランチなので全品「ご飯、サラダ、漬物、味噌汁、小鉢付き」ですよ。
素敵ですねぇー。
ハーブ豚だけでも写真を撮ってみた。

IMG_0233 posted by (C)kishir
是非また行きたいなぁー。
今度は「牛ロースのあぶり焼き」を食べてみたい。
焼きや 銕 ランチメニュー- Posted at:
- 2009/02/19 00:12:05
- 0 Comments
- 0 TrackBacks
- Tags:
- Other
- Trackback:
- http://kishi-r.com/2009/02/19/lunch_tetu/trackback/
AIRでMP3Playerを試してみる
とりあえず勢いで作ってみた。
参考にしたサイトは、Adobe AIRでクールなMP3プレーヤーを作ってみる上記では、タイトル名を取得しているがどうしても取れなく断念している真っ最中orz
ソースは下記
<?xml version="1.0"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
import flash.desktop.ClipboardFormats;
import flash.events.NativeDragEvent;
import flash.desktop.NativeDragManager;
import flash.filesystem.File;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.net.URLRequest;
import flash.display.Sprite;
import mx.core.UIComponent;
[Bindable]
private var sound:Sound;
private var soundChannel:SoundChannel;
private var playing:Boolean = false;
private var file:File;
private var pausePos:Number = 0;
private var playBar:Sprite;
private var spriteRight:Sprite;
private var spriteLeft:Sprite;
private var uic:UIComponent;
private function initApp():void
{
soundChannel = new SoundChannel();
spriteRight = new Sprite();
spriteLeft = new Sprite();
uic = new UIComponent;
uic.x=122;
uic.y=40;
this.addChild(uic);
spriteRight.graphics.beginFill(0x0000ff);
spriteRight.graphics.drawRect(0, 0, 0.1, 20 );
spriteRight.graphics.endFill();
spriteLeft.graphics.beginFill(0x0000ff);
spriteRight.graphics.endFill();
spriteLeft.graphics.beginFill(0x0000ff);
spriteLeft.graphics.drawRect(0, 22, 0.1, 20 );
spriteLeft.graphics.endFill();
uic.addChild(spriteRight);
uic.addChild(spriteLeft);
addEventListener(Event.ENTER_FRAME,enterHandler);
addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnterHandler);
addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dragDropHandler);
}
private function dragEnterHandler(e:NativeDragEvent):void
{
var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
if(files != null && File(files[0]).extension == "mp3")
{
NativeDragManager.acceptDragDrop(this);
}
}
private function dragDropHandler(e:NativeDragEvent):void
{
var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
if (playing)
{
soundChannel.stop();
}
sound = new Sound();
sound.load(new URLRequest(File(files[0]).url));
soundChannel = sound.play();
playing = true;
}
private function musicPlay():void
{
try{
soundChannel = sound.play(pausePos);
playing = true;
}catch(e:Error){
}
}
private function enterHandler(event:Event):void
{
spriteRight.width = soundChannel.rightPeak * 100;
spriteLeft.width = soundChannel.leftPeak * 100;
}
private function musicPause():void
{
if(playing == true){
pausePos = soundChannel.position;
soundChannel.stop();
}
playing = false;
}
private function musicStop():void
{
if(playing == true){
soundChannel.stop();
pausePos = 0;
}
playing = false;
}
private function selectHandler(event:Event):void
{
sound = new Sound();
sound.load(new URLRequest(File(file).url));
soundChannel = sound.play();
playing = true;
}
private function selectFile():void
{
musicStop();
playing = false;
file = new File();
file.browse();
file.addEventListener(Event.SELECT,selectHandler);
}
private function drawBar(col:uint):Sprite
{
var bar:Sprite = new Sprite();
bar.graphics.lineStyle(0, col);
bar.graphics.beginFill(col, 1);
bar.graphics.drawRect(0, 0, 1, 10);
bar.graphics.endFill();
bar.x = 20;
bar.y = 370;
return bar;
}
]]>
</mx:Script>
<mx:Button id="openBtn" label="OPEN" x="10" y="10" width="80" click="selectFile();"/>
<mx:Button id="playBtn" label="PLAY" x="10" y="35" width="80" click="musicPlay();"/>
<mx:Button id="stopBtn" label="STOP" x="10" y="60" width="80" click="musicStop();" />
<mx:Button id="pauseBtn" label="PAUSE" x="10" y="85" width="80" click="musicPause();" />
<mx:TextInput id="titleText" color="0xffff00" backgroundColor="0x000000" x="100" y="10"/>
<mx:Label text="R" x="100" y="40" width="20"/>
<mx:Label text="L" x="100" y="62" width="20"/>
</mx:WindowedApplication>
こんな感じに書いてみた。
一応「一時停止」と「ドラッグアンドドロップ」を足してみた。
が、
・一時停止をクリックしてから、停止を押しても効かない
・演奏中にファイルを選択しようとすると演奏が止まってしまう
・複数のファイルを選択してリスト表示出来ない
・そもそもまだタイトル名が取れていない
・mp3にしか対応していないので、mp4やm4a、WAVにも対応する必要がある
など、 まだまだ改善する点もあるし、全然オブジェクト指向に作られていないので、別のasファイルにする必要もある。
他にもボタンなどは、直に書かずに何かしら生成出来るような仕組みでないと柔軟ではないな。
そこら辺も考慮する必要があるので、もうちょっと頑張ってみる。
とりあえず現状の画面は下記になる。

musicplayer posted by (C)kishir
ってかActionScriptにもFlexにもまだまだ慣れていないので、色々と勉強する事が盛りだくさんな今日この頃ですなぁー。
※09/02/17 追記
t-matsuda氏に助言をいただき、試してみました。修正箇所は下記。
private function dragDropHandler(e:NativeDragEvent):void
{
var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
if (playing)
{
soundChannel.stop();
}
sound = new Sound();
sound.load(new URLRequest(File(files[0]).url));
//soundChannel = sound.play();
//playing = true;
musicPlay();
}
は、musicPlayメソッドにて再生するように変更して、
同じくselectHandlerにても同じようにmusicPlayメソッドを使用する。
private function selectHandler(event:Event):void
{
sound = new Sound();
sound.load(new URLRequest(File(file).url));
//soundChannel = sound.play();
//var filename:FileReference = FileReference(event.target);
//playing = true;
musicPlay();
}
で次がキモ。
private function musicPlay():void
{
try {
soundChannel = sound.play(pausePos);
soundChannel.addEventListener(Event.ID3, onID3Info, false, 0, true);
playing = true;
}catch(e:Error){
}
}
musicPlayメソッドにて、リスナーをEvent.ID3イベントを監視するサウンドのインスタンスに追加する。
これにより送られてくるイベントオブジェクトからサウンドのid3プロパティを参照が可能になる。
それが下記。
private function onID3Info(evt:Event):void
{
var id3Props:ID3Info = evt.target.id3;
for (var propName:String in id3Props) {
trace("ID3 Tag", propName, "=", id3Props[propName]);
}
}
上記のtraceしている部分がそう。
このtrace部分をテキストにぶち込むようにすれば、OKなはずだが・・・そもそもid3情報が無いものばかりなのかやはりnullというかtraceしても何も出ない。
ん〜そもそもAdobe® Flex™ 3 リファレンスガイドを見た所、ID3Infoはランタイムバージョン : 1.0 9ってなってる。 ランタイムバージョンが1.0 9って事は1.5ではダメってことか?
もう面倒だからファイル名から取って拡張子でも消すか?
var filename:FileReference = FileReference(event.target);
でファイル名も取れるしなぁー、悩ましい。。。
- Posted at:
- 2009/02/16 23:17:54
- 2 Comments
- 0 TrackBacks
- Tags:
- ActionScript
- AIR
- Flex
- Trackback:
- http://kishi-r.com/2009/02/16/air_mp3player/trackback/



