メディアファイルをオープンします
dsp_Open p1,p2,p3,p4,p5,p6
p1 = ファイル名(文字列) p2 = 使用するビデオレンダラー(数値、マクロ) p3 = ウィンドウハンドル(hWnd) -> 『EVR』 のときのみ指定 p4 = レンダラーモード(数値) -> 『VMR7,9』 のときのみ指定 p5 = オープンするピンの数(数値) -> 『VMR7,9』 のときのみ指定 p6 = オーディオ出力デバイスのインデックス([-1], 0 ~)
(プラグイン / モジュール : hspdsp.dll)
DirectShowに対応したメディアファイルをオープンします。 p1 には ファイル名をフルパスで入れます。 p2 には 使用するビデオレンダラーを指定します。マクロでも定義されています。 OPEN_DEFAULT_RENDERER 0 = 『Default Renderer』 (システム標準のレンダラーを自動選択) OPEN_VIDEO_RENDERER 1 = 『Video Renderer』 (Windows 9x 以降で利用可能な 旧レンダラー) OPEN_VMR7 2 = 『Video Mixing Renderer 7』 (Windows XP 以降で利用可能な ミキシングレンダラー) OPEN_VMR9 3 = 『Video Mixing Renderer 9』 (DirectX9 をインストールしたPCで利用可能な レンダラー) OPEN_EVR 4 = 『Enhanced Video Renderer』 (Windows Vista 以降で利用可能なレンダラー DXVA利用可?) OPEN_NO_RENDERER 5 = 『No Renderer』 (動画ファイルの場合音声のみ。こっちのほうが軽い?) OPEN_NULL_RENDERER 6 = 『Null Renderer』 (動画ファイルの場合音声のみ。こっちのほうが安全?) ※この場合の「安全」の意味は音声なしに指定しているのにフィルターが 勝手にビデオを表示してしまわないという意味です。 OPEN_NOAUDIO_VIDEO_RENDERER 11 = 『Default Renderer』 (Default Renderer 音声なし版) OPEN_NOAUDIO_VMR7 12 = 『Video Mixing Renderer 7』 (Video Mixing Renderer 7 音声なし版) OPEN_NOAUDIO_VMR9 13 = 『Video Mixing Renderer 9』 (Video Mixing Renderer 9 音声なし版) OPEN_NOAUDIO_EVR 14 = 『Enhanced Video Renderer』 (Enhanced Video Renderer 音声なし版) ※音声なし版は 動画ファイルに音声ストリームがあっても再生しません。 p3 には『EVR』をレンダラーに指定した場合のみウィンドウハンドルを指定します。 それ以外の場合には 0 で構いません。 p4 には 『VMR7,9』をレンダラーを指定した場合にレンダラーモードを指定します。 それ以外の場合には 0 で構いません。また値はマクロでも定義されています。 VMR_DEFAULT_MODE 0 = システムのデフォルト VMR_WINDOW_MODE 1 = ウィンドウモード VMR_WINDOWLESS_MODE 2 = ウィンドウレスモード VMR_RENDERLESS_MODE 4 = レンダーリングレスモード レンダラーモードの違いについてですが、よくわかりません。(爆) ただ、下に行くほど重くなり、綺麗に表示できるとかできないとか? p5 には 『VMR7,9』をレンダラーを指定した場合にピンの数を指定します。 それ以外の場合には 0 で構いません。 dsp_VMRMixImage 命令で 動画の上にミキシングする場合は 1 以上を入れてください。 0 の場合 dsp_VMRMixImage は実行に失敗します。 (基本的にミキシングありにすると再生が重くなります。) 例: // デフォルトレンダラー dsp_Open "アレックスと愉快な仲間たち.flv",0,OPEN_DEFAULT_RENDERER,0,0 // VMR9 (ミキシングなし) dsp_Open "アレックスと愉快な仲間たち.flv",0,OPEN_VMR9,VMR_DEFAULT_MODE,0 // VMR9 (ミキシングあり) dsp_Open "アレックスと愉快な仲間たち.flv",0,OPEN_VMR9,VMR_DEFAULT_MODE,1 // EVR dsp_Open "アレックスと愉快な仲間たち.flv",OPEN_EVR,hwnd,0,0 p6 には オーディオ出力デバイスのインデックスを指定します。 オーディオ出力デバイスのインデックス は 0 から始まります。 オーディオ出力デバイスの一覧を取得するには、 dsp_GetDeviceList 命令を使用してください。 dsp_GetDeviceList命令にて メモリノートパッド形式でデバイスの一覧が返ります。 行番号とオーディオ出力デバイスのインデックスが一致します。 -1 または 0 を指定すると、既定のオーディオ出力デバイスで再生します。 利用可能なデバイスの数を超えた数値の場合は、-1 を渡したものとみなされます。 エラーが発生した場合は stat に 0 以外の値が返ります。 -1 : すでにオープンされているため、クローズする必要があります。 -2 : 指定が無効です。 -3 : 予期せぬエラーが発生しました。 -4 : 対応していないファイルやファイルが見つかりません。 これ以外の値が返ることがあります。
dsp_Init | HSPDSPを初期化します | (hspdsp.dll) |
dsp_SetActiveSel | アクティブにする操作IDを指定 | (hspdsp.dll) |
dsp_Close | メディアファイルを閉じます | (hspdsp.dll) |
dsp_Stop | メディアを一時停止します | (hspdsp.dll) |
dsp_Play | メディアファイルを再生します | (hspdsp.dll) |
dsp_Play2 | メディアファイルを再生します | (hspdsp.dll) |
dsp_Info | メディアの情報を取得します(関数) | (hspdsp.dll) |
dsp_GetState | ストリームの現在の状態を取得します(関数) | (hspdsp.dll) |
dsp_FilterProp | フィルター設定・情報画面を表示 | (hspdsp.dll) |
dsp_CaptureVideo | 再生中のビデオのキャプチャ | (hspdsp.dll) |
dsp_CaptureVideoEx | 再生中のビデオのキャプチャ(拡張版) | (hspdsp.dll) |
dsp_VMRMixImage | VMRのミキシングを行います | (hspdsp.dll) |
GetOSVersion | OSのバージョン取得(関数) | (hspdsp.dll) |
dsp_Version | HSPDSPのバージョンを取得します(関数) | (hspdsp.dll) |
dsp_GetDeviceList | オーディオ出力デバイスの一覧を取得 | (hspdsp.dll) |
dsp_GetDeviceListSize | オーディオ出力デバイスの一覧のサイズを取得(関数) | (hspdsp.dll) |
プラグイン / モジュール | hspdsp.dll |
バージョン | 1.13 |
作成日 | 2021/06/13 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | hspdsp.asをインクルードすること。
#include "hspdsp.as" 64bit版HSPの場合は、 #include "hspdsp64.as" |
タイプ | 拡張命令 |
グループ | HSPDSP |
対応環境 |
|
hs ファイル | hsphelp\hspdsp.hs |