2013年9月16日月曜日

動画再生アプリを作ってみた。Part.3

完成後、色々いじって気になる点が出てきたので、更に改良することにした。


<参考>


課題。

  1.フェードアウトの追加
  2.再生コンテンツ戻り/進み
  3.USBのみで再生



1.フェードアウトの追加

こんな使い方を想定している。

(1)動画再生
(2)動画再生途中、フェードアウトしてプロジェクタを別のPCに変更
(3)別のPCで作業完了後、再び自分のPCに変更し、次の動画を再生

で、(2)を実現すべく、フェードアウトを実装する。
「axWindowsMediaPlayer::settings」プロパティに、ボリュームプロパティが記載されている。

■IWMPSettings (VB and C#) interface


<<メソッド>>
getMode
  Returns a value indicating whether loop mode or shuffle mode is active.
  再生モード(ループ/シャッフル)取得

setMode
  Sets the loop mode or shuffle mode to active or inactive.
  再生モード設定

<<プロパティ>> 
autoStart
  Read/write
  Gets or sets a value indicating whether the current media item begins playing automatically.
  リード/ライト可
  自動再生する

balance
  Read/write
  Gets or sets the current stereo balance.
  リード/ライト可
  音声のステレオバランス設定 -50~50

baseURL
  Read/write
  Gets or sets the base URL used for relative path resolution with URL script 
  commands that are embedded in digital media content.
  リード/ライト可
  メディア格納URLを設定

defaultFrame
  Read/write
  Gets or sets the name of the frame used to display a URL that is 
  received in a scriptCommand event.
  リード/ライト可
  scriptCommandで受け取ったURLを表示するために使用するフレーム名を設定

enableErrorDialogs
  Read/write
  Gets or sets a value indicating whether error dialog boxes are displayed automatically.
  リード/ライト可
  エラーダイヤログ表示/非表示設定

invokeURLs
  Read/write
  Gets or sets a value indicating whether URL events should launch a Web browser.
  リード/ライト可
  Webブラウザ表示/非表示設定

isAvailable
  Read-only
  Gets a value indicating whether a specified action can be performed. In C#, 
  this is the get_isAvailable method.
  リード専用
  指定アクションが実行可能かを示す

mute
  Read/write
  Gets or sets a value indicating whether audio is muted.
  リード/ライト可
  ミュート(消音)On/Off

playCount
  Read/write
  Gets or sets the number of times a media item will play.
  リード/ライト可
  再生中メディア番号の指定

rate
  Read/write
  Gets or sets the current playback rate for video.
  リード/ライト可
  再生速度設定

volume
  Read/write
  Gets or sets the current playback volume.
  リード/ライト可
  音量設定 0~100

こうやって眺めると、色々できる事がわかる。
とりあえず、フェードアウトするためには、Volumeを段階的に下げていく必要がある。
動画再生中、Enterキー押下でタイマを起動し、タイムアウトイベントでボリュームを下げる様実装する。




2.再生コンテンツ戻り/進み

WindowsMediaPlayerのショートカトキーは下記となっている。

<<実行する操作>>
50% に縮小する
  Alt + 1

100% に拡大する
  Alt + 2

200% に拡大する
  Alt + 3

全画面表示に表示を切り替える
  Alt + Enter

Windows Media Player で最近表示したビューの履歴で前に戻る
  Alt + ←

Windows Media Player で最近表示したビューの履歴で次に進む
  Alt + →

全画面表示モードに切り替える
  Ctrl + 1

スキン モードに切り替える
  Ctrl + 2

[最近追加] の後にある、メディア カテゴリの 1 つ目のビュー ([音楽] の [アーティスト] など) に切り替える
  Ctrl + 7

[最近追加] の後にある、メディア カテゴリの 2 つ目のビュー ([音楽] の [アルバム] など) に切り替える
  Ctrl + 8

[最近追加] の後にある、メディア カテゴリの 3 つ目のビュー ([音楽] の [曲] など) に切り替える
  Ctrl + 9

前へ (項目またはチャプタ)
  Ctrl + B

ライブラリの検索ボックスにフォーカスを置く
  Ctrl + E

次へ (項目またはチャプタ)
  Ctrl + F

ランダム再生をオンまたはオフにする
  Ctrl + H

CD または DVD を取り出す (CD または DVD ディスク ドライブを 2 台以上装備したコンピュータでは
機能しないことに注意)
  Ctrl + J

フル モードで、クラシック メニュー (メニュー バー) を表示または非表示にする
  Ctrl + M

新しい再生リストを作成する
  Ctrl + N

ファイルを開く
  Ctrl + O

再生または再生の一時停止
  Ctrl + P

選択した項目の同期リストへの追加
  Ctrl + Q

再生の停止
  Ctrl + S

オーディオ再生で、連続再生をオンまたはオフにする
  Ctrl + T

ファイルへの URL またはパスを指定する
  Ctrl + U

ファイル再生を終了または停止する
  Ctrl + W

ビデオを巻き戻す
  Ctrl + Shift + B

キャプションとサブタイトルをオンまたはオフにする
  Ctrl + Shift + C

ビデオまたは音楽を早送りする
  Ctrl + Shift + F

速い再生速度を使用する
  Ctrl + Shift + G

標準速度で再生する
  Ctrl + Shift + N

遅い再生速度を使用する
  Ctrl + Shift + S

全画面表示からフル モードに戻る
  Esc

Windows Media Player のヘルプを表示する
  F1

ライブラリ内で選択された項目のメディア情報を編集する
  F2

ライブラリにメディア ファイルを追加する
  F3

[オプションの表示] ボタンで使用できるオプションを使って、詳細ウィンドウ領域内の項目の表示を切り替える
  F4

ウィンドウ領域内を最新の情報に更新する
  F5

アルバム アートのサイズを大きくする
  F6

アルバム アートのサイズを小さくする
  Shift + F6

音量をミュートにする
  F7

音量を下げる
  F8

音量を上げる
  F9

クラシック メニュー (メニュー バー) を表示する
  F10

全画面表示モードに切り替える
  F11

というわけで、「Alt」キーを無視する方向実装する。

  [←] 一つ前の動画を再生する

  [→] 次の動画を再生する

ちなみに、仮想キーコード一覧はこちら。

■Virtual-Key Codes




3.USBのみで再生

完成したアプリをUSBに入れて、動作するかチェック。
無事動作した。




結構機能が充実してきた。
今度はスロープレイとかさせたいなと画策中。

0 件のコメント:

コメントを投稿