tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル外部EXEの処理状況表示
記事No8742
投稿日: 2009/02/20(Fri) 02:31
投稿者HAL
いつも参考にさせて頂いています。

開発環境は、
Windows XP Professional SP3
Visual Studio Team System 2008 Team Suite SP1
で御座います。

早速ですが、VB2008にて、外部EXEを実行し、
その外部EXEの処理状況を取得したく今日一日色々探し悩みました。

例として、
VB2008上フォームにてaaa.wavを指定し、ボタンを押したら、
lame.exeを実行し、aaa.mp3に変換されます。
----------
Imports System.Diagnostics.Process
----------
dim oProc as New Process
oProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
oProc.StartInfo.FileName = "lame.exe"
oProc.StartInfo.Arguments = "-m j -q 0 -b 320 aaa.wav aaa.mp3"
oProc.Start()
----------
そのlame.exeの変換進行状況を
VB2008上フォームのプログレスバー又は単にラベルに
変換終了最大100%で表示したいのです。

また、キャンセルボタンでは、lame.exe を終了したいのです。

BackgroundWorker にて、
時間のかかる処理をバックグラウンドで実行等の参考資料を色々なサイトにて、
お目に掛かりましたが、_DoWork内で、
----------
For i As Integer = 1 To 100
処理
worker.ReportProgress(xxx)
Next
----------
では、当たり前ですが、lame.exeが100回実行されますし…

ご指導宜しくお願い致します。

[ツリー表示へ]
タイトルRe: 外部EXEの処理状況表示
記事No8743
投稿日: 2009/02/20(Fri) 09:57
投稿者ダンボ
> そのlame.exeの変換進行状況を
> VB2008上フォームのプログレスバー又は単にラベルに
> 変換終了最大100%で表示したいのです。

lame.exeに進行状況の報告機能が無い限り
難しいでしょう。
強いて考えるならば、変換後のaaa.mp3のファイルサイズ(推定値)
を100%として、変換中のaaa.mp3のファイルサイズを%表示するとか。

[ツリー表示へ]
タイトルRe^2: 外部EXEの処理状況表示
記事No8744
投稿日: 2009/02/20(Fri) 10:24
投稿者HAL
ダンボ様、お早いご指導誠に有難う御座います。

> lame.exeに進行状況の報告機能が無い限り
> 難しいでしょう。

CLI上に表示される%では駄目なんでしょうか?
また、lame.exe 開始0%終了100%で単純にいける思っていました。
お恥ずかしいです。

> 強いて考えるならば、変換後のaaa.mp3のファイルサイズ(推定値)
> を100%として、変換中のaaa.mp3のファイルサイズを%表示するとか。

変換後の推定値は当方が指定するものかと思います。
例ではMP3でしたが、WAVファイルの音声フォーマット
(サンプリングレート/STEREO or MONO 等)及び長さ、
MP3のビットレートにより推定値が無数になってしまいませんでしょうか?

[ツリー表示へ]
タイトルRe^3: 外部EXEの処理状況表示
記事No8745
投稿日: 2009/02/20(Fri) 18:42
投稿者ダンボ
> CLI上に表示される%では駄目なんでしょうか?

CUIですかね?(コマンドラインインターフェイスの略かな?)
LAMEを直接コマンドラインで使ったことがないのですが
進捗の報告機能があるのですか。それならば標準出力を
起動APP側で取り込むことはできるので、その文字列を
解析すれば行けそうですね。(並行して取り込めるかな?)
具体的なサンプルはご容赦。「標準出力 取り込み VB」あたりで検索を。

http://dobon.net/vb/bbs/log3-4/2249.html
http://www.atmarkit.co.jp/fdotnet/vb2005/vb2005_07/vb2005_07_01.html

[ツリー表示へ]
タイトルRe^4: 外部EXEの処理状況表示
記事No8746
投稿日: 2009/02/21(Sat) 02:17
投稿者HAL
ダンボ様
親切にサイト紹介大変有難う御座います。
参考し、もっと勉強を重ねたいと思います。

[ツリー表示へ]