SoundEngineで開く別の方法を考えてみました。
機能廃止に伴い、wav以外の拡張子を考えてみた方法は、バッチファイルを使います。音声ファイルをコマンドラインアプリケーションでデコードしてからシームレスにSoundEngineで開くという方法です。といいますか、これはSoundEngineの機能とは全く関係なく、Windowsのバッチファイルの機能とコマンドラインアプリケーション(デコーダー)の機能を使うだけといえば使うだけです。
、おそらくバッチファイルだとセキュリティ上問題にならないでしょうし、ユーザーが意図的にバッチファイルを作成・駆動するということであれば、Windowsの機能をただ使うだけですのでセキュリティ上は何ら問題無いかと思います。
ヘルプカフェでも動画で解説中!「01. wav以外のファイルをSoundEngineでシームレスに開く方法 (1:06) | SoundEngine #4 番外編」から。
コマンドラインアプリケーションのインストール
コマンドラインアプリケーションのデコーダーをインストールします。
は例として、soxとflacを使って説明します。それぞれダウンロードしてきたインストーラーを起動してインストールします。
soxのインストール
flacのインストール
は、インストーラーが付属してないものもあるので、その場合は自分で適切な位置に実行ファイルを配置します。
バッチファイル作成
にでも作るとよいでしょう。
shell:sendtoあたりで検索するとよいでしょう)
に置きたい場合は、エクスプローラーで「shell:sendto」を開くとそのフォルダが現れます。(よくわからない人は、例として作ったバッチファイルは以下のものです。
[text]
@echo off
set PROGRAM_FILES_PATH=%ProgramFiles(x86)%
set EXE_FOLDER_PATH=%PROGRAM_FILES_PATH%\SoundEngine Free\
set EXE_FILE_NAME=SoundEngine.exe
if not exist %temp%\SoundEngine MKDIR %temp%\SoundEngine
if not exist %temp%\SoundEngine\Scv MKDIR %temp%\SoundEngine\Scv
set DECODE_FILE_PATH=%temp%\SoundEngine\Scv\%~n1.wav
set EXTENSION=%~x1
if %EXTENSION% == .wav goto sox
if %EXTENSION% == .aiff goto sox
if %EXTENSION% == .aif goto sox
if %EXTENSION% == .flac goto flac
:sox
"%PROGRAM_FILES_PATH%\sox-14-4-0\sox.exe" "%~1" -s "%DECODE_FILE_PATH%"
start /d "%EXE_FOLDER_PATH%" %EXE_FILE_NAME% "%DECODE_FILE_PATH%"
exit
:flac
"%PROGRAM_FILES_PATH%\FLAC\flac.exe" -d "%~1" -o "%DECODE_FILE_PATH%"
start /d "%EXE_FOLDER_PATH%" %EXE_FILE_NAME% "%DECODE_FILE_PATH%"
exit
[/text]
解説しますと、まず1行目はおまじないです。3~5行目はプログラムファイルのパスなどを設定しています。7~8行目で出力先フォルダを作成し、10~11行目で出力ファイルのパスや拡張子を設定しています。13~16行目で拡張子別に場合分けし、18~21行目ではsoxのコマンドライン起動及びSoundEngineの起動を、23~26行目ではflacのコマンドライン起動及びSoundEngineの起動をしています。
には、デコーダーの実行ファイルのパスが正しいかどうかはちゃんとチェックして下さい。例えば、soxの場合デフォルトのインストール先は、C:\Program Files (x86)\sox-14-4-0となっていて、バージョンが違うとフォルダも変わるようです。
音声ファイルをバッチファイルへ
にバッチファイルを置いた場合は、音声ファイルを作成したバッチファイルへドロップして下さい。
にバッチファイルを置いた場合は、音声ファイルを右クリックして送るメニューからバッチファイルを選んで下さい。
の例では、AIFF(AIF)ファイルとFLACファイル(とsoxが対応しているADPCMのようなPCM以外のWavファイル)をシームレスに開くことできるようになります。たたし、SoundEngine本体へのドラッグアンドドロップには対応してませんのでご注意を。また、別の拡張子でも同様な形で記述すれば簡単に使えるようになるでしょう。
サンプルバッチファイル
http://sourceforge.net/projects/sox/files/sox/
から、
は
http://sourceforge.net/projects/flac/files/flac-win/
からダウンロード可能です。
こちらからダウンロードできます。64bit版のWindowsで使えるかと思います。32bitの場合は、Program Filesのパス(3行目)が違うのでそれを修正すれば使えるかもしれません。
、今回例として作ったものが
ピンバック: SoundEngineでエラーが表示され音声ファイルを開くことができない場合 | 豆知識