パスワードを忘れた? アカウント作成
337774 story
ソフトウェア

JavaScriptでMP3デコーダを実装、FlashなしでMP3再生を可能に 47

ストーリー by hylom
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, おもしろおかしい)

    by Anonymous Coward on 2011年06月21日 19時59分 (#1974078)
    JavaScriptでWebブラウザを実装する人が出てきてもいいころ
    • Re:そろそろ (スコア:1, すばらしい洞察)

      by Anonymous Coward on 2011年06月21日 20時37分 (#1974099)

      JavaScriptでWebブラウザを実装する人が出てきてもいいころ

      「Opera mini があるじゃん」って一瞬思っちゃいましたが、あちらはJavaMEでしたかね。

      ローカルでフルレンダすると技術的には面白くても速度的には実用的になりそうもないですが、Opera miniよろしくレンダリングサービスを用意するなら高速化の恩恵を受ける環境は意外とあるかも。

      親コメント
      • by Anonymous Coward

        たまにはFirefoxのことも思い出してあげてください。
        # XULを使っているのは反則ですか? ではやはりHTML5でUIを再実装して…。

    • JavaScriptベースのH.264デコーダ(Ogg/TheoraかWebMでも可)が出来てしまえば、HTML5の映像フォーマット問題は万事解決ですね。

      親コメント
    • by ddc (14170) on 2011年06月21日 23時50分 (#1974233) 日記

      JavaScriptでFlash Playerの実装を…ってもうあったか

      親コメント
    • by Anonymous Coward
      というか、そろそろJavaScriptで書かれた~系はわざわざ記事にしなくても良いような。

      昔のHTMLのおまけ機能みたいなイメージが強いからJavaScriptで何かを作るとすごく見えるけど
      今のJavaScriptはとても洗練された現代的な高級言語だしいろいろ作れるのは至極当たり前のことかと。
      • Re:そろそろ (スコア:1, 興味深い)

        by Anonymous Coward on 2011年06月21日 21時59分 (#1974163)

        逆にJavaScriptで(できそうで)出来ないことって何?

        親コメント
        • Re:そろそろ (スコア:2, おもしろおかしい)

          by Anonymous Coward on 2011年06月22日 3時31分 (#1974309)

          うちの社内システム構築

          親コメント
          • Re:そろそろ (スコア:1, 参考になる)

            by Anonymous Coward on 2011年06月22日 7時25分 (#1974325)

            うちの社内システム構築

            まて、それはやりたくない事の間違いだ!

            変数スコープが変態だとか、変数に型指定ができないとかで複数人で一つの物を作るのはイヤって感じ、一人で使うと非常にオモシロイ言語ですし,V8を使ったNode.jsみたいなものもあって末広がり感がだいぶでてきましたけどね。
            Unity3Dのjavascript(プロトタイプ継承できないから違うような気がする)みたいに型指定可能ならよかったと思うのだけどあったらここまでお手軽につかってもらえなかったんだろうと思うと感慨深いです。

            親コメント
        • by 127.0.0.1 (33105) on 2011年06月22日 13時59分 (#1974531) 日記
          嫁とか彼女とか
          親コメント
          • by Anonymous Coward

            >y(略とか彼(略とか
            #なにかノイズが入って表示不良

            …そういうのは…いいから…、もういいから、ホント……

        • by Anonymous Coward
          出来そうで出来ないことはなかなか思いつきませんね。
          メモリやレジスタを明示的に操作できないので、それらが必要となるものは苦手/不可能でしょう。

          JavaScriptの出来ないことってのは処理系の問題でしかないので、言語として出来ないわけではないかと。
        • by Anonymous Coward

          セキュリティ的にできちゃいけないことは、できないようになってる、とか?

        • by Anonymous Coward

          ターミナルの実装
          ポート80以外の通信ができないので

        • by Anonymous Coward
          コンパイル
      • by Anonymous Coward
        JavaScriptで書かれたということもそうですが、今回の件ではブラウザ(HTML5)で自由に音を出せるAPIが出揃ってきたというのも大きなポイントでしょう(まだサポートされていないブラウザも多いようですが)。
        いくら素晴らしいJavaScriptを書いてMP3をデコードした音声データを用意したとしても、それを動かすプラットフォームに音声に関してのサポートがなければ自由に音声を出すことはできません。
    • by Anonymous Coward

      おれは昔、MSX-BASICでBASICインタプリタを作ろうとしたことがあるが、うまくいかなかった。

      • by Anonymous Coward
        なつかしい。
        C言語が欲しくて、超サブセットのC言語インタプリタなら作ったな。中2のとき。
      • by Anonymous Coward

        MSXべーしっ君のように、アセンブラ、コンパイラに逃げる連中が多い中
        インタープリタに手を出すとは渋いねぇ。

    • by Anonymous Coward

      JavaScriptでOSを実装する人が出てきてもいいころ

    • by Anonymous Coward

      Firefoxってそんな感じじゃ無かった?
      CSSでUI弄れるし。

    • by Anonymous Coward

      JavaScriptでいちいち再実装するの面倒なのでCのコードからJavaScriptのコードへ変換するトランスレータを作るべき。

      • Re:そろそろ (スコア:5, 参考になる)

        by kcg (26566) on 2011年06月21日 22時25分 (#1974183) ホームページ 日記

        ありますよ。Emscriptenといいます。
        LLVMのバイトコードをJavaScriptに変換できるので
        CLangなどLLVMでコンパイルできる言語なら何でもJavaScripにできます。

        これでDOOMがCコードからJavaScriptに変換されて動いています。

        なので、もうなんでもありですよ。

        親コメント
        • by Anonymous Coward

          JavaScriptで動作するVirusとかワームとかはあるのでしょうか?

        • by Anonymous Coward

          > ありますよ。Emscriptenといいます。

          Emacsen (Emacsの複数形) と空目した。
          LISPでなんでも書けてしまうとか。

        • by Anonymous Coward

          >CLangなどLLVMでコンパイルできる言語なら何でもJavaScripにできます。

          LinuxカーネルをJavaScriptで書く日が来たか…

    • by Anonymous Coward
      HOT JAVA … はJAVAでしたね
    • by Anonymous Coward
      そのJavaScriptで動くWebブラウザの中で、さらにJavaScriptで動くWebブラウザを・・・
    • by Anonymous Coward

      せんせい!

      WebブラウザにはJavaScript実行環境は含まれますか?

      そのWebブラウザに載せるJavaScript実行環境を実装するのに、eval()を用いたら反則ですか?

      • by Anonymous Coward
        lispの教科書には大抵lispでlisp実装する話載ってるけど、そこで(loop (print (eval (read))))じゃだめだろ。
  • こういう、JavaScriptをどんどん流行らして欲しい。
  • パテント (スコア:1, 興味深い)

    by Anonymous Coward on 2011年06月21日 21時13分 (#1974130)
    作ったのはいいけど、これパテントはどうなってるの?
    mp3ってPDFみたいに失効しててパテント料かからないんだっけ?
    • Re:パテント (スコア:3, すばらしい洞察)

      by Anonymous Coward on 2011年06月21日 22時35分 (#1974194)

      バイナリ配布 [wikipedia.org]じゃないから…ということなのかなぁ?

      親コメント
      • by Anonymous Coward
        あとはクロスプラットフォーム実装を効率よく行うための研究、とかの名目を付ければ完璧と。
      • by Anonymous Coward
        うーん、JavaScriptが主流になるようだと状況が違ってくるかもしれないですけどね。
        アプリケーションの場合は、ソースコード=「ただちに実行可能ではない」だけど、
        JavaScriptの場合は、ソースコード=実行可能、と言えなくもない。
    • by Anonymous Coward
      MPEG LAは関連特許をどんどん追加して延命を図っているようだけど(要するに素直に失効を待っていても無駄)、MP3の再生に最低限必要な基本特許はすでに失効してるんじゃなかったっけ。
  • by Anonymous Coward on 2011年06月21日 21時22分 (#1974139)

    結局のところ最近のブラウザのJavascript環境が、
    一回ネイティブにコンパイルして実行するようになって高速化したのが大きいんだと思う。

  • by Anonymous Coward on 2011年06月22日 6時21分 (#1974322)

    java->javascriptの変換はあるからなぁ。

  • by Anonymous Coward on 2011年06月22日 10時30分 (#1974379)
    バグ放置ならそのサイトでの機能不全で済むから
    規約に決まり文句で回避可能かな?

    JavaScriptの実装や規格そのものにおいて、
    WebGLのような脆弱性が見つかった場合は、
    責任の所在どうなるのかな?

    JavaScriptで色んなことができるようになればなるほど、
    ソース=実行可能コードと見做されることになるわけで。

    # CSSも今後この懸念の範疇に入ってくるのかなぁ
    # いずれにしろ国外組織が策定したものなら国内法の範疇外?
    # だとしたらどでかい抜け道になるんでないだろうか?
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...