
JavaScriptでMP3デコーダを実装、FlashなしでMP3再生を可能に 47
ストーリー by hylom
NoFlash 部門より
NoFlash 部門より
あるAnonymous Coward 曰く、
先日、JavaScriptで実装されたGAMEBOY COLORエミュレータやPCエミュレータが話題になったが、今度はJavaScriptによるMP3デコーダの実装が話題になっている。
このMP3デコーダ「jsmad」、jsmad.orgにてデモが公開されているが、現在Firefox 4以降とWeb Audio APIを有効にしたChrome 12 開発版(Linux)、Chrome 13(Mac OS X版)、Chrome Canary(ナイトリービルド版)で動作するという。
また、まったく別のプログラムだが、JavaScript製のPDFビューアなども登場しているようだ。
そろそろ (スコア:3, おもしろおかしい)
Re:そろそろ (スコア:1, すばらしい洞察)
「Opera mini があるじゃん」って一瞬思っちゃいましたが、あちらはJavaMEでしたかね。
ローカルでフルレンダすると技術的には面白くても速度的には実用的になりそうもないですが、Opera miniよろしくレンダリングサービスを用意するなら高速化の恩恵を受ける環境は意外とあるかも。
Re: (スコア:0)
たまにはFirefoxのことも思い出してあげてください。
# XULを使っているのは反則ですか? ではやはりHTML5でUIを再実装して…。
Re: (スコア:0)
H.264デコーダさえ出来れば (スコア:1)
JavaScriptベースのH.264デコーダ(Ogg/TheoraかWebMでも可)が出来てしまえば、HTML5の映像フォーマット問題は万事解決ですね。
Re:H.264デコーダさえ出来れば (スコア:1)
その場合ライセンス料はどうなるんでしょうか
・動画を配信しているwebサイト側?
・コーデックを配布しているwebサイト側?
・実行しているブラウザ?
・実行可能なPC?
Re:そろそろ (スコア:1)
JavaScriptでFlash Playerの実装を…ってもうあったか
Re: (スコア:0)
昔のHTMLのおまけ機能みたいなイメージが強いからJavaScriptで何かを作るとすごく見えるけど
今のJavaScriptはとても洗練された現代的な高級言語だしいろいろ作れるのは至極当たり前のことかと。
Re:そろそろ (スコア:1, 興味深い)
逆にJavaScriptで(できそうで)出来ないことって何?
Re:そろそろ (スコア:2, おもしろおかしい)
うちの社内システム構築
Re:そろそろ (スコア:1, 参考になる)
まて、それはやりたくない事の間違いだ!
変数スコープが変態だとか、変数に型指定ができないとかで複数人で一つの物を作るのはイヤって感じ、一人で使うと非常にオモシロイ言語ですし,V8を使ったNode.jsみたいなものもあって末広がり感がだいぶでてきましたけどね。
Unity3Dのjavascript(プロトタイプ継承できないから違うような気がする)みたいに型指定も可能ならよかったと思うのだけどあったらここまでお手軽につかってもらえなかったんだろうと思うと感慨深いです。
Re:そろそろ (スコア:1)
Re: (スコア:0)
>y(略とか彼(略とか
#なにかノイズが入って表示不良
…そういうのは…いいから…、もういいから、ホント……
Re: (スコア:0)
メモリやレジスタを明示的に操作できないので、それらが必要となるものは苦手/不可能でしょう。
JavaScriptの出来ないことってのは処理系の問題でしかないので、言語として出来ないわけではないかと。
Re: (スコア:0)
Re: (スコア:0)
セキュリティ的にできちゃいけないことは、できないようになってる、とか?
Re: (スコア:0)
ターミナルの実装
ポート80以外の通信ができないので
Re: (スコア:0)
Re: (スコア:0)
いくら素晴らしいJavaScriptを書いてMP3をデコードした音声データを用意したとしても、それを動かすプラットフォームに音声に関してのサポートがなければ自由に音声を出すことはできません。
Re: (スコア:0)
おれは昔、MSX-BASICでBASICインタプリタを作ろうとしたことがあるが、うまくいかなかった。
Re: (スコア:0)
C言語が欲しくて、超サブセットのC言語インタプリタなら作ったな。中2のとき。
Re: (スコア:0)
MSXべーしっ君のように、アセンブラ、コンパイラに逃げる連中が多い中
インタープリタに手を出すとは渋いねぇ。
Re: (スコア:0)
JavaScriptでOSを実装する人が出てきてもいいころ
Re:そろそろ (スコア:1)
気持ちだけですが
http://www.michaelv.org/ [michaelv.org]
Re: (スコア:0)
OSと言わずPC/ATエミュレータを実装すれば・・・
Re:そろそろ (スコア:2)
関連ストーリーの
「QEMU 開発者、JavaScript で PC エミュレータを実装 」
がそれですよ。Linux動いています。
Re: (スコア:0)
Re: (スコア:0)
Firefoxってそんな感じじゃ無かった?
CSSでUI弄れるし。
Re: (スコア:0)
JavaScriptでいちいち再実装するの面倒なのでCのコードからJavaScriptのコードへ変換するトランスレータを作るべき。
Re:そろそろ (スコア:5, 参考になる)
ありますよ。Emscriptenといいます。
LLVMのバイトコードをJavaScriptに変換できるので
CLangなどLLVMでコンパイルできる言語なら何でもJavaScripにできます。
これでDOOMがCコードからJavaScriptに変換されて動いています。
なので、もうなんでもありですよ。
Re: (スコア:0)
JavaScriptで動作するVirusとかワームとかはあるのでしょうか?
Re: (スコア:0)
> ありますよ。Emscriptenといいます。
Emacsen (Emacsの複数形) と空目した。
LISPでなんでも書けてしまうとか。
Re: (スコア:0)
>CLangなどLLVMでコンパイルできる言語なら何でもJavaScripにできます。
LinuxカーネルをJavaScriptで書く日が来たか…
Re: (スコア:0)
Re: (スコア:0)
Re: (スコア:0)
せんせい!
WebブラウザにはJavaScript実行環境は含まれますか?
そのWebブラウザに載せるJavaScript実行環境を実装するのに、eval()を用いたら反則ですか?
Re: (スコア:0)
IE8 IE9をサポートしていないのが気に入った (スコア:2)
パテント (スコア:1, 興味深い)
mp3ってPDFみたいに失効しててパテント料かからないんだっけ?
Re:パテント (スコア:3, すばらしい洞察)
バイナリ配布 [wikipedia.org]じゃないから…ということなのかなぁ?
Re: (スコア:0)
Re: (スコア:0)
アプリケーションの場合は、ソースコード=「ただちに実行可能ではない」だけど、
JavaScriptの場合は、ソースコード=実行可能、と言えなくもない。
Re: (スコア:0)
JIT化。 (スコア:0)
結局のところ最近のブラウザのJavascript環境が、
一回ネイティブにコンパイルして実行するようになって高速化したのが大きいんだと思う。
Re:JIT化。 (スコア:4, 興味深い)
Typed Arrayが使えるようになって、これまで文字列+charCodeAtでやってたバイナリいじりが格段に効率よくできるようになったのも大きいらしいです。
https://developer.mozilla.org/en/JavaScript_typed_arrays [mozilla.org]
# と、たしか2chで聞いたのだが。ググっても専ブラのログ漁っても出てこない。何故に……
1を聞いて0を知れ!
gwt (スコア:0)
java->javascriptの変換はあるからなぁ。
例の新法的にはどう見做されるかな? (スコア:0)
規約に決まり文句で回避可能かな?
JavaScriptの実装や規格そのものにおいて、
WebGLのような脆弱性が見つかった場合は、
責任の所在どうなるのかな?
JavaScriptで色んなことができるようになればなるほど、
ソース=実行可能コードと見做されることになるわけで。
# CSSも今後この懸念の範疇に入ってくるのかなぁ
# いずれにしろ国外組織が策定したものなら国内法の範疇外?
# だとしたらどでかい抜け道になるんでないだろうか?