「起動オプション」の編集履歴(バックアップ)一覧はこちら

起動オプション」(2010/04/13 (火) 02:23:38) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#contents() *概要 起動オプション(コマンドライン引数)を指定することで、外部ソフトや動画情報ウィンドウでのスクリプトなどからNicoPlayerの起動時の設定や、起動しているNicoPlayerへの操作を行うことが出来ます。 引数はNicoPlayerへのパスの後に記述し、複数の場合はスペースで区切ります。パスにスペースが含まれていると引数を上手く分割できない場合があるので、パスを指定する場合は"..."のようにダブルクォーテーションで囲うようにします。 書式: "(NicoPlayerのインストールフォルダパス)\NicoPlayer.exe" 引数1 引数2... *メッセージ送信による起動オプションの指定 外部アプリからコマンドライン引数を使ってコマンドを指定する方法以外に、WM_COPYDATAメッセージを送信することでもNicoPlayerにコマンドを送ることが出来ます。 コマンドライン引数を使った指定に比べ再度NicoPlayer.exeを読み出す必要がないためオーバーヘッドが小さくて済みます。 以下にC++からの呼び出しの例を示します。 #include <windows.h> #include <string> // NicoPlayerのウィンドウを探しコマンドを送信 bool NicoPlayer_SendCommand( const std::wstring &sCommand ) { static const DWORD INDEX_COMMANDLINE = 0; HWND hWndNicoPlayer = FindWindow( L"CNicoPlayer", NULL ); if( !hWndNicoPlayer ){ return false; } std::wstring sSendData; sSendData = L"cmd: " + sCommand; // cmd: = dummy COPYDATASTRUCT cdsData; cdsData.dwData = INDEX_COMMANDLINE; cdsData.cbData = sizeof( WCHAR ) * ( (UINT)sSendData.size() + 1 ); cdsData.lpData = (LPWSTR)sSendData.c_str(); return SendMessage( hWndNicoPlayer, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&cdsData ) != 0; } 以下のように呼び出してコマンドを送信します。 // 次のファイルを再生 NicoPlayer_SendCommand( L"player -next" ); *引数 **ダウンロード ***リストに追加 URL [オプション] [オプション]には以下の内容が指定できます。 |-movie|動画を保存| |-comment|コメントを保存| |-info|動画情報を保存| |-thumbnail|サムネイルを保存| |-addlist|プレイリストに追加| |-playafter|ダウンロード後再生| |-createdir|フォルダを作成| |-afterexit|ダウンロード後ソフト終了| |-onlyadd|リストに追加のみ(すぐにDL開始しない)| |savepath="パス"|保存先パス| |log="日時"|過去ログ指定※1| ※ :オプションが何も指定されなかった場合はダウンロードウィンドウでの現在の設定内容が適用されます ※1:日時の指定は "年/月/日 時:分:秒"形式または、UNIX時間を直接指定できます。(時:分:秒は省略可能) ***ファイルからリストに追加 ".datファイルパス" **プレイリスト ***ファイル読み込み ".m3uファイルパス" ***ファイルからリストに追加 ".m3uファイルパス" -addlist ***ファイル,フォルダをリストに追加 "パス" -addlist ※フォルダパスを指定した場合は、リストに追加するファイルの種類を選択するダイアログが表示されます ***リストをクリア playlist -clear **再生操作・コメント ***ファイルを再生 "ファイルパス" ***ファイルを再生-コメントの読み込み数を指定 "ファイルパス" comment_readnum="読み込み数" ***ファイルを再生-コメントの読み込み開始位置を指定 "ファイルパス" comment_readstart="読み込み開始位置" ※コメントファイル内での上から数えた0から始める位置です ***ファイルを再生-コメントの時間軸変更を指定 "ファイルパス" comment_shift="ずらす時間[ms]" ※マイナス方向にずらす場合は"-5000"のように-記号を付けて表します ***再生開始 player -play ***一時停止 player -pause ***停止 player -stop ***前へ player -prev ***次へ player -next ***音量 player -volume percent=音量(%) ***速度 player -rate val=速度(実数値) ***シーク player -seek pos=位置(ミリ秒) player -seek percent=位置(%) ***コメントの投稿 player -postcomment comment="コメント" command="コマンド" vpos="動画上での位置(1/100秒)" id="動画ID" ※vposを省略すると現在再生中の動画時間が指定されます ※idを省略すると現在再生中の動画が指定されます ※コメントでの改行は<br>を入力すると置き換えられます ※コメントでの"(ダブルクォーテーション)は \" を入力すると置き換えられます ***コメントの時間軸変更 player -shift time="ずらす時間[ms]" ※マイナス方向にずらす場合は"-5000"のように-記号を付けて表します ***コメントの透明度を設定 player -commentalpha percent=アルファ値(%) **動画情報ウィンドウ ***ウィンドウの表示を変更 videoinfo -move href="パス" **情報ウィンドウ ***メッセージを追加 info msg="メッセージ" (-inactiveオプションと併用するとメッセージ追加時に情報ウィンドウを表示状態にしません) **各種情報を取得 外部アプリとの連携の際に使用します。書式は以下の通りです。 get [オプション] hwnd=ウィンドウハンドル id=識別子 指定したウィンドウへWM_COPYDATAメッセージを送信します。データ形式は文字列型(LPCWSTR)です。COPYDATASTRUCT構造体のdwData値はid=を指定することで変更できます。(省略すると0になります) hwndにVIDEOINFOを指定することで動画情報ウィンドウHTML内タグ<div id="exchange" style="display:none;"></div>のinnerTextに値を設定できます。 これにより動画情報ウィンドウのJavaScriptからNicoPlayerの各種情報の取得が可能になります。 [オプション]には以下の内容が指定できます。 |-version|NicoPlayerのバージョン(x.xx)を取得| |-softdir|NicoPlayerがあるフォルダパスを取得| |-playfile|再生開始時に指定したファイルパスを取得| |-mediafile|再生中のメディアファイルパスを取得| |-commentfile|再生中のコメントファイルパスを取得| |-infofile|再生中のメディアファイルに対応した動画情報ファイルを取得| |-time|現在の再生時間(ms)を取得| |-length|メディアの長さ(ms)を取得| |-mediastate|メディアの再生状態("Stopped", "Paused", "Running", "")を取得| |-playlist|プレイリストデータをJSON形式で取得| **その他 ***外部アプリ実行 exec ... execのスペース後にある文字列を全てコマンドラインとして解釈し実行します(-inactive, -echoは削除されます) ***SendMessage()実行 sendmsg [パラメータ] [パラメータ]には以下の内容が指定できます。 |msg=Msg値|メッセージ| |wparam=wParam値|第1パラメータ| |lparam=lParam値|第2パラメータ| SendMessage()関数については[[こちら>http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_sendmessage.asp]]を参照して下さい。 ***更新で使用した一時ファイルを削除 other -deletetemp ※更新後の次回起動時に自動的に実行されます ***NicoPlayerのウィンドウをアクティブにしない(全てのオプションと併用可能) -inactive ***NicoPlayerに渡されたコマンド内容を情報ウィンドウに表示する(全てのオプションと併用可能) -echo ***ダウンロード中でもダイアログを表示させず強制終了する -exitforce *使用例 **コメントのみダウンロード http://www.nicovideo.jp/watch/sm***** -comment **保存先を指定して動画をダウンロード http://www.nicovideo.jp/watch/sm***** -movie savepath="C:\Download" ※上記ではC:\Downloadフォルダに保存 **動画をダウンロードした後ソフトを自動的に終了させる http://www.nicovideo.jp/watch/sm***** -movie -afterexit **動画の30%の位置にシーク player -seek percent=30 **動画の開始から5秒の位置にシーク player -seek pos=5000 **指定したファイルを5秒目の位置から再生 "ファイルパス" player -seek pos=5000 **指定したファイルを再生+コメントの時間軸を5秒手前にずらす "ファイルパス" comment_shift=-5000 ※"ファイルパス" player -shift time=-5000でも可 **指定したファイルを再生+100個目から250個分のコメントを読み込む "ファイルパス" comment_readnum=250 comment_readstart=100 **現在のリストをクリアして新たにファイルから項目を追加 下記の内容を2回に分けて実行します。 playlist -clear "C:\list.m3u" -addlist ※上記ではC:\list.m3uファイルから項目を追加 **プレイリストの表示を切り換える(sendmsg使用) sendmsg msg=273 wparam=8800 lparam=0 ※273はWM_COMMAND、8800はID。lparam=0は省略可能。 **WM_COPYDATAでNicoPlayerがあるフォルダパスを取得 get -softdir hwnd=(自ウィンドウハンドル) 上記のコマンドをNicoPlayerに送信するとNicoPlayerからWM_COPYDATAで対応する値が送られてきます。 WM_COPYDATAメッセージで以下のように処理することで値を受け取ることが出来ます。 COPYDATASTRUCT* pCopyDataStruct = (COPYDATASTRUCT*)lParam; LPCWSTR lpSoftDir = (LPCWSTR)pCopyDataStruct->lpData; // 表示テスト MessageBox( NULL, lpSoftDir, NULL, MB_OK ); *コメント - LpdcUGjWoDDCXxJQIlI -- picoele (2009-02-28 23:33:51) - MEeDyEbyANOmxFY -- ivtrmcrgc (2009-05-13 20:16:44) #comment
#contents() *概要 起動オプション(コマンドライン引数)を指定することで、外部ソフトや動画情報ウィンドウでのスクリプトなどからNicoPlayerの起動時の設定や、起動しているNicoPlayerへの操作を行うことが出来ます。 引数はNicoPlayerへのパスの後に記述し、複数の場合はスペースで区切ります。パスにスペースが含まれていると引数を上手く分割できない場合があるので、パスを指定する場合は"..."のようにダブルクォーテーションで囲うようにします。 書式: "(NicoPlayerのインストールフォルダパス)\NicoPlayer.exe" 引数1 引数2... [[動画情報ファイル]]でも設定することができます。 *メッセージ送信による起動オプションの指定 外部アプリからコマンドライン引数を使ってコマンドを指定する方法以外に、WM_COPYDATAメッセージを送信することでもNicoPlayerにコマンドを送ることが出来ます。 コマンドライン引数を使った指定に比べ再度NicoPlayer.exeを読み出す必要がないためオーバーヘッドが小さくて済みます。 以下にC++からの呼び出しの例を示します。 #include <windows.h> #include <string> // NicoPlayerのウィンドウを探しコマンドを送信 bool NicoPlayer_SendCommand( const std::wstring &sCommand ) { static const DWORD INDEX_COMMANDLINE = 0; HWND hWndNicoPlayer = FindWindow( L"CNicoPlayer", NULL ); if( !hWndNicoPlayer ){ return false; } std::wstring sSendData; sSendData = L"cmd: " + sCommand; // cmd: = dummy COPYDATASTRUCT cdsData; cdsData.dwData = INDEX_COMMANDLINE; cdsData.cbData = sizeof( WCHAR ) * ( (UINT)sSendData.size() + 1 ); cdsData.lpData = (LPWSTR)sSendData.c_str(); return SendMessage( hWndNicoPlayer, WM_COPYDATA, (WPARAM)NULL, (LPARAM)&cdsData ) != 0; } 以下のように呼び出してコマンドを送信します。 // 次のファイルを再生 NicoPlayer_SendCommand( L"player -next" ); *引数 **ダウンロード ***リストに追加 URL [オプション] [オプション]には以下の内容が指定できます。 |-movie|動画を保存| |-comment|コメントを保存| |-info|動画情報を保存| |-thumbnail|サムネイルを保存| |-addlist|プレイリストに追加| |-playafter|ダウンロード後再生| |-createdir|フォルダを作成| |-afterexit|ダウンロード後ソフト終了| |-onlyadd|リストに追加のみ(すぐにDL開始しない)| |savepath="パス"|保存先パス| |log="日時"|過去ログ指定※1| ※ :オプションが何も指定されなかった場合はダウンロードウィンドウでの現在の設定内容が適用されます ※1:日時の指定は "年/月/日 時:分:秒"形式または、UNIX時間を直接指定できます。(時:分:秒は省略可能) ***ファイルからリストに追加 ".datファイルパス" **プレイリスト ***ファイル読み込み ".m3uファイルパス" ***ファイルからリストに追加 ".m3uファイルパス" -addlist ***ファイル,フォルダをリストに追加 "パス" -addlist ※フォルダパスを指定した場合は、リストに追加するファイルの種類を選択するダイアログが表示されます ***リストをクリア playlist -clear **再生操作・コメント ***ファイルを再生 "ファイルパス" ***ファイルを再生-コメントの読み込み数を指定 "ファイルパス" comment_readnum="読み込み数" ***ファイルを再生-コメントの読み込み開始位置を指定 "ファイルパス" comment_readstart="読み込み開始位置" ※コメントファイル内での上から数えた0から始める位置です ***ファイルを再生-コメントの時間軸変更を指定 "ファイルパス" comment_shift="ずらす時間[ms]" ※マイナス方向にずらす場合は"-5000"のように-記号を付けて表します ***再生開始 player -play ***一時停止 player -pause ***停止 player -stop ***前へ player -prev ***次へ player -next ***音量 player -volume percent=音量(%) ***速度 player -rate val=速度(実数値) ***シーク player -seek pos=位置(ミリ秒) player -seek percent=位置(%) ***コメントの投稿 player -postcomment comment="コメント" command="コマンド" vpos="動画上での位置(1/100秒)" id="動画ID" ※vposを省略すると現在再生中の動画時間が指定されます ※idを省略すると現在再生中の動画が指定されます ※コメントでの改行は<br>を入力すると置き換えられます ※コメントでの"(ダブルクォーテーション)は \" を入力すると置き換えられます ***コメントの時間軸変更 player -shift time="ずらす時間[ms]" ※マイナス方向にずらす場合は"-5000"のように-記号を付けて表します ***コメントの透明度を設定 player -commentalpha percent=アルファ値(%) **動画情報ウィンドウ ***ウィンドウの表示を変更 videoinfo -move href="パス" **情報ウィンドウ ***メッセージを追加 info msg="メッセージ" (-inactiveオプションと併用するとメッセージ追加時に情報ウィンドウを表示状態にしません) **各種情報を取得 外部アプリとの連携の際に使用します。書式は以下の通りです。 get [オプション] hwnd=ウィンドウハンドル id=識別子 指定したウィンドウへWM_COPYDATAメッセージを送信します。データ形式は文字列型(LPCWSTR)です。COPYDATASTRUCT構造体のdwData値はid=を指定することで変更できます。(省略すると0になります) hwndにVIDEOINFOを指定することで動画情報ウィンドウHTML内タグ<div id="exchange" style="display:none;"></div>のinnerTextに値を設定できます。 これにより動画情報ウィンドウのJavaScriptからNicoPlayerの各種情報の取得が可能になります。 [オプション]には以下の内容が指定できます。 |-version|NicoPlayerのバージョン(x.xx)を取得| |-softdir|NicoPlayerがあるフォルダパスを取得| |-playfile|再生開始時に指定したファイルパスを取得| |-mediafile|再生中のメディアファイルパスを取得| |-commentfile|再生中のコメントファイルパスを取得| |-infofile|再生中のメディアファイルに対応した動画情報ファイルを取得| |-time|現在の再生時間(ms)を取得| |-length|メディアの長さ(ms)を取得| |-mediastate|メディアの再生状態("Stopped", "Paused", "Running", "")を取得| |-playlist|プレイリストデータをJSON形式で取得| **その他 ***外部アプリ実行 exec ... execのスペース後にある文字列を全てコマンドラインとして解釈し実行します(-inactive, -echoは削除されます) ***SendMessage()実行 sendmsg [パラメータ] [パラメータ]には以下の内容が指定できます。 |msg=Msg値|メッセージ| |wparam=wParam値|第1パラメータ| |lparam=lParam値|第2パラメータ| SendMessage()関数については[[こちら>http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpwinui/html/_win32_sendmessage.asp]]を参照して下さい。 ***更新で使用した一時ファイルを削除 other -deletetemp ※更新後の次回起動時に自動的に実行されます ***NicoPlayerのウィンドウをアクティブにしない(全てのオプションと併用可能) -inactive ***NicoPlayerに渡されたコマンド内容を情報ウィンドウに表示する(全てのオプションと併用可能) -echo ***ダウンロード中でもダイアログを表示させず強制終了する -exitforce *使用例 **コメントのみダウンロード http://www.nicovideo.jp/watch/sm***** -comment **保存先を指定して動画をダウンロード http://www.nicovideo.jp/watch/sm***** -movie savepath="C:\Download" ※上記ではC:\Downloadフォルダに保存 **動画をダウンロードした後ソフトを自動的に終了させる http://www.nicovideo.jp/watch/sm***** -movie -afterexit **動画の30%の位置にシーク player -seek percent=30 **動画の開始から5秒の位置にシーク player -seek pos=5000 **指定したファイルを5秒目の位置から再生 "ファイルパス" player -seek pos=5000 **指定したファイルを再生+コメントの時間軸を5秒手前にずらす "ファイルパス" comment_shift=-5000 ※"ファイルパス" player -shift time=-5000でも可 **指定したファイルを再生+100個目から250個分のコメントを読み込む "ファイルパス" comment_readnum=250 comment_readstart=100 **現在のリストをクリアして新たにファイルから項目を追加 下記の内容を2回に分けて実行します。 playlist -clear "C:\list.m3u" -addlist ※上記ではC:\list.m3uファイルから項目を追加 **プレイリストの表示を切り換える(sendmsg使用) sendmsg msg=273 wparam=8800 lparam=0 ※273はWM_COMMAND、8800はID。lparam=0は省略可能。 **WM_COPYDATAでNicoPlayerがあるフォルダパスを取得 get -softdir hwnd=(自ウィンドウハンドル) 上記のコマンドをNicoPlayerに送信するとNicoPlayerからWM_COPYDATAで対応する値が送られてきます。 WM_COPYDATAメッセージで以下のように処理することで値を受け取ることが出来ます。 COPYDATASTRUCT* pCopyDataStruct = (COPYDATASTRUCT*)lParam; LPCWSTR lpSoftDir = (LPCWSTR)pCopyDataStruct->lpData; // 表示テスト MessageBox( NULL, lpSoftDir, NULL, MB_OK ); *コメント - LpdcUGjWoDDCXxJQIlI -- picoele (2009-02-28 23:33:51) - MEeDyEbyANOmxFY -- ivtrmcrgc (2009-05-13 20:16:44) #comment

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー