私は自分のものをffmpegで変換するスクリプトを作成しました
します :
1 キャンセル ボタン付きのプログレスバーを作成する 2 ループしてファイルを変換する 3 プログレス値を設定する
正常に動作しますが、キャンセルをクリックしてもffmpegが停止しません
奇妙なことは、エコーのような別のプログラムを使用すると、ffmpegの問題のように機能することです
誰でもトリックを見つける方法を教えてもらえますか?
listoffile="$HOME/ffmpeglist.lst"
numberoffile=$(wc -l <$listoffile)
ffmpegpath="/usr/bin/ffmpeg"
mystufvariabletouseonmyscript=$(kdialog --progressbar "hello this is a progress bar with 100 steps" 100) ; sleep 2 ; qdbus $mystufvariabletouseonmyscript showCancelButton true
until test "true" = `qdbus $mystufvariabletouseonmyscript wasCancelled` ; do
while read line ; do
qdbus $mystufvariabletouseonmyscript org.kde.kdialog.ProgressDialog.setLabelText $"Starting Conversion...processing file $line"
$ffmpegpath -i "$line" "${line%%.*}.$mp3"
value=$(( $(($a*100))/$numberoffile ))
qdbus $mystufvariabletouseonmyscript Set org.kde.kdialog.ProgressDialog value $value
a=$(($a+1))
done< "$listoffile"
done