【ニコ動再生プレイヤー】nooxp v1.1.2 リリース【swf対応】

1.1から1.1.2にバグフィックス
読んで字のごとく、swfに対応したコメント付動画再生プレイヤーです。
あんまり大した更新じゃないので記事修正で報告。

更新箇所(v1.1→1.1.2)
  • ラセンナワタシに対応
    • これで再生しても画像が表示されないケースが(今度こそ)無くなったはず。
    • 全部CWSだと思っていたらSWFだったので解析ロジックがごっそり抜けていました。ということで修正。
      • 好きな感じの曲だったので修正優先度が上がりました。
  • 画面固定処理を追加
    • 画面最前面に再生時固定するかどうかの処理分岐用のアイコンです。画面右端のカギアイコンがソレです。デフォルトではロックされた状態になっています。クリックするとロック解除。
更新箇所(v1.0→v1.1)
  • 音量調整を実装
    • 再生中のSWFの音量に対するアクセス方法がまったくわからないので、やむなくOS本体のボリュームを弄っています。起動時の優先デバイスの音量を100としてそれに対する割合で音量が調整され、nooxp終了時にデバイスの音量を元に戻すようにしています。GOM Playerもこんなような感じで実装しているようなので、やれるのかどうかも含めてSWF本体の音量調整を弄る方法がまったくわかりません。理論上はやれるはずですが。
  • 拡大モードを実装
    • 2倍にウィンドウを拡大できます。正直この機能がそんなに要求されるとはまったく想定外だったのでかなりやっつけですが、たぶん動くと思います。
  • スキン機能搭載(偽)
    • もっと見た目をシンプルにしてほしい、という要望があったのでなんとなく実装。現状、対応しているのはボタンだけです。skinフォルダの中身を見ればなんとなくわかるかと。
  • TGetPropertyは信用しないことにした
    • 再生しても画像が表示されないケースが無くなったはず。
    • 冒頭のフレームに対するTGetPropertyで初期ウィンドウのサイズを決めていたのですが、一部のSWFはこのときに0を返すことがわかったため、やむなくSWFのヘッダを自前で解析するように変更。15bit単位でRECTを取得とか狂ってる。
特徴

  • コメント付きでのswf,flv,mp4再生
  • BoonPlayer互換のNG機能
    • BoonPlayer.exeと同一フォルダに入れておくとNGword.iniを読み込むため、同フォルダ内に突っ込むことをお薦めします
    • 単語指定とID指定のみですが、NG処理がされます
  • ヌルヌルしたコメント再生
    • FPSは自動的に調整されます。激しい動きや大量の連続したコメント群でもない限りそこそこ綺麗に表示されるかと
    • ネットブックで使う場合はコメント数の上限を200にすると処理が追いつかず、再生がコマ送りになります。100あたりで我慢してください。
  • .netやAirと比較するとC++なので高速に起動
    • wxWidgetsフル活用なので全部手作業だったnooxf0.3に比べると遅いです
使い方
  • BoonPlayer同様です。おおよそ見ればわかるかと。
動作環境
  • WinXP Home Edition SP3(32bit)
    • Windows7(64bit)環境で動作した、との報告が得られています
    • Windows7(32bit)環境で動作した、との報告が得られています
    • Vistaは不明です
  • Flashプラグイン
    • 普通にニコ動がブラウザで再生できれば問題ないはず
  • ffdshow
    • ffdshowのバージョンにご注意下さい。あまりに古いと再生終了時にフリーズするケースがあります。なるべく新しいffdshowを使ってください。ffdshow_rev3439_20100514_clsidで動作確認を取っています。
インストール
  • 解凍してBoon Playerと同じフォルダにぶちこんでください
    • 別のフォルダでも問題ありませんが、同一フォルダだとNG設定をBoon Playerのものから流用します。
アンインストール
  • レジストリ不使用なのでそのままさくっと削除してください
ダウンロード

ここから落としてください

既知の問題
  • NG指定の画面上での追加
    • 現状では手作業でNGword.iniを修正するしか方法がないです
  • コメントのコマンドの細かい部分の実装
    • だんだん文字が小さくなる部分やニコスクリプトなどは実装されていません
    • というかそもそものコメントの衝突判定方法の実装が間違ってるので次辺りもうちょっとまともにする予定
  • 書き込み機能
    • 画面周りの処理で現状精一杯で、ネットワークまで手を出す余裕が……
  • 動画切り替え時の読み込みで0.5秒〜1秒くらい待たされる
    • 何に時間かかってるのか調べたらXML処理周りでした。自力で実装し直すにはめんどくさい部分なのでひとまず我慢してください。
  • 止めても動くぞ非対応
    • やれなくはないですが、swfのときだけ停止せずに画像表示スレッドを回し続ける、という処理を別途追加しないといけないのでちょっとめんどくさい感じ。
  • シーク時に状態がリアルタイムで反映されない
    • シークバーの変更時に逐次イベントが発生してるはずなんだがwxWidgets上でそれの捕捉方法がいまいちよくわからず。