/ inTopicNo.1)  MP3レコーダー

  
□投稿者/ m さん ( ) 【123.230.164.108】(2016/08/16(Tue) 23:45:23)

   

    #------------------------------------------
    #【ソフト名】 MP3レコーダー
    #【 作 者 】 m
    #【 U R L 】 
    #【連 絡 先】 
    #【 転載 】 全て許可
    #【なでしこのバージョン】 ver.1.555
    #【  実行 の 注意点  】 あり(エラー処理適当です)| なし
    #【   紹 介     】 なでしこでmp3録音できるレコーダーをというか、FFMPEGのフロントエンドをつくりました。

    FFMPEG=「{母艦パス}plug-ins\ffmpeg.exe」
    // https://www.ffmpeg.org/からwindows版をダウンロードしてplug-insフォルダに入れる
    arg1 =「-list_devices true -f dshow -i nul 2>&1」//デバイスリストを標準出力に出す引数

    //FFMPEGの利用できるデバイスを確認
    もし、FFMPEGの存在がはいならば、
    結果=「cmd /c {FFMPEG} {arg1}」をコマンド実行
    結果=結果をSJIS変換
    違えば、
     「ffmpegをplug-inフォルダに入れてください」という
     終わる
    もし、結果が空ならば、
     「エラーが発生しました。」という
     終わる

    //FFMPEGの出力のパターン
    パターン0は「\[.+\]\s+」 //[]に囲まれた文字列のある行
    パターン1は「DirectShow video devices.?」//録画
    パターン2は「DirectShow audio devices.?」//録音
    パターン3は「^".+"」//""で囲まれた行頭の文字列
    録画デバイス=「」//録音だけなら不要
    録音デバイス=「」//録音デバイスのリストを入れる
    モードは0 //1なら録画デバイス、2なら録音デバイス
    //FFMPEGの出力から抽出
    結果を反復
    対象をパターン0で正規表現マッチ
    もし、それが空でなければ、
    対象2は対象のパターン0を「」へ正規表現単置換
    もし、対象2をパターン1で正規表現マッチが空でなければ
    モードは1
    もし、対象2をパターン2で正規表現マッチが空でなければ
    モードは2
    もし、対象2をパターン3で正規表現マッチが空でなければ
    もし、モードが1ならば、
    録画デバイス=「{録画デバイス}{対象2}{改行}」
    もし、モードが2ならば、
    録音デバイス=「{録音デバイス}{対象2}{改行}」

    WaveInラベルとはラベル
    そのレイアウトは上
    そのテキストは「録音デバイス」
    録音コンボとはコンボ
    そのレイアウトは上
    そのアイテムは録音デバイス

    録音ボタンとはボタン
    そのテキストは「録音」
    そのクリックした時は〜
    録音ボタン押下

    ●録音ボタン押下
    もし、録音ボタンのテキストが「録音」ならば
    もし、録音コンボのテキストが空ならば、
    「録音デバイスを選択してください」という
    違えば、
    録音開始
    違えば、
    録音停止

    ●録音開始
    録音ボタンの有効はオフ//ダブルクリック対策
    arg2 =「-f dshow -i audio={録音コンボのテキスト} -ac 1 -ab 128k -acodec libmp3lame -f mp3 -y "output.mp3"」
    # arg2 =「-f dshow -i audio={録音コンボのテキスト} -ac 1 -ar 22050 -ab 48k -acodec libmp3lame -f mp3 -y "output.mp3"」
    //オプションは好み
    「{FFMPEG} {arg2}」を起動
    録音ボタンのテキストは「停止」
    0.5秒待つ //ダブルクリック対策
    録音窓は窓アクティブハンドル取得
    録音ボタンの有効はオン
    録音窓の窓ハンドル最小化

    ●録音停止
    録音ボタンの有効はオフ//ダブルクリック対策
    録音窓に「q」を窓ハンドルキー送信
    録音ボタンのテキストは「録音」
    0.5秒待つ //ダブルクリック対策
    録音ボタンの有効はオン

    ●窓ハンドル最小化({=?}Hの|Hを)
     もし、H=空ならば、H=_
     PostMessage(H,$112,$f020,0)  
     

削除キー/

コメントを記入





Name/
E-Mail/
Title/
URL/
Icon/ (画像を選択/サンプル一覧)
削除キー/ (半角8文字以内)
確認キー/ (”日本語でナデシコ”と記入)
 

Pass/

BBS CGI RSS CGI
Child Tree RSS/SPAM対応版