dsp_Open

メディアファイルをオープンします

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_InitHSPDSPを初期化します(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_VMRMixImageVMRのミキシングを行います(hspdsp.dll)
GetOSVersionOSのバージョン取得(関数)(hspdsp.dll)
dsp_VersionHSPDSPのバージョンを取得します(関数)(hspdsp.dll)
dsp_GetDeviceListオーディオ出力デバイスの一覧を取得(hspdsp.dll)
dsp_GetDeviceListSizeオーディオ出力デバイスの一覧のサイズを取得(関数)(hspdsp.dll)

サンプル逆引き (18)

sample02.hsp
sample03.hsp
sample04.hsp
sample05.hsp
sample06.hsp
sample07.hsp
sample08.hsp
sample09.hsp
sample10.hsp
sample11.hsp
sample12.hsp
sample13.hsp
sample14.hsp
sample15.hsp
sample17.hsp
sample21.hsp
sample22.hsp
sample25_SelectAudioDevice.hsp

情報

プラグイン / モジュールhspdsp.dll
バージョン1.12
作成日2017/05/05
著作者inovia
URLhttps://hsp.moe/
備考hspdsp.asをインクルードすること。
#include "hspdsp.as"
タイプ拡張命令
グループHSPDSP
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspdsp.hs