カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

動画ファイル(.avi)の長さ(総時間)を取得する

Windowsエクスプローラーにてファイルのプロパティの概要タブで確認できる内容を取得する。
AVIやMP3には付加情報(ID3タグ情報)が格納されている。

※この方法は簡易的なものでID3.orgで規定されているフォーマットに沿って読み出すのとは異なり、主要な項目のみ取得するものである。

まず、このプログラムにはShell32.dllを使用します。 続きを読む…»

10,627 views

Visual C# axMediaPlayer

axMediaPlayerコンポーネント

ツールボックス上で右クリック->[アイテムの選択]
COMコンポーネントタブを選択し、一覧の「Windows Media Player」をチェック

プロパティ
settings.mute (boolean) 消音
settings.URL (string) ファイルパス
settings.autoStart (boolean) 起動時、自動再生するか
Ctlcontrols.currentPosition (integer) 再生位置(秒数)
currentMedia.duration 再生中のファイルの総時間
続きを読む…»

2,415 views

ファイルのダウンロード

System.Net.WebClientクラスを使用してファイルをダウンロードします

//参照を追加
using System.Net;

・単純なダウンロード

public static void getFile(string uri, string filename)
{
    WebClient wc = new WebClient();
    wc.DownloadFile(uri, filename);
    wc.Dispose();
}

・バイト配列でダウンロード

public static byte[] getFile(string uri)
{
    byte[] data;

    //WebClientの作成
    WebClient wc = new WebClient();
    //ファイルをダウンロードする
    try
    {
        data = wc.DownloadData(uri);

        //後始末
        wc.Dispose();

        if (data.Length < 2500)
        {
            return null;
        }
    }
    catch
    {
        data = null;
    }

    return data;
}

・バイト配列から書き込み保存

public static void SaveFile(byte[] data, string filename)
{
    FileStream fsTo = new FileStream(filename, FileMode.Create, FileAccess.Write);

    fsTo.Write(data, 0, data.Length);

    fsTo.Close();
}
1,634 views

自身のIPアドレスを取得

using System.Windows.Forms;
using System.Text.RegularExpressions;
using System.Net;


public static int check_ip()
{
  string hostname;     // ホスト名
  IPHostEntry ipentry; // IPエントリ(IPアドレスリスト)
  IPAddress ipaddr;    // IPアドレス
  string ipaddress;    // IPアドレス
  string[] IP_ARRAY;
  int n;

  ipaddress = "0.0.0.0";

  try
  {
    // ホスト名を取得
    hostname = Dns.GetHostName();

    // ホスト名からIPアドレスを取得する
    ipentry = Dns.GetHostEntry(hostname);

    // windows7だと、IPアドレスがインデックス「2」のため
    // ループで取り出す
    for (int i = 0; i < ipentry.AddressList.Length; i++)
    {
      // Regex : 正規表現
      Regex myRegex = new Regex(@"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$");
      // 対象文字列が存在するか?
      if (myRegex.IsMatch(ipentry.AddressList[i].ToString()))
      {
        ipaddr = ipentry.AddressList[i];
        ipaddress = ipaddr.ToString();
        break;
      }
    }
  }
  catch(Exception ex)
  {
    MessageBox.Show(ex.Message);
    Application.Exit();
  }

  // ネットワーク識別子を取得
  IP_ARRAY = ipaddress.Split('.');

  // ネットワーク識別子を返す
  n = int.Parse(IP_ARRAY[2]);

  return n;
}
3,605 views

デフォルトゲートウェイのアドレスを取得する

要参照設定

System.Net.NetworkInformation;

public static void getDefaultGateway()
{
 NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();

 foreach (NetworkInterface adapter in adapters)
 {
  IPInterfaceProperties adapterProperties = adapter.GetIPProperties();
  GatewayIPAddressInformationCollection addresses =
   adapterProperties.GatewayAddresses;
  if (addresses.Count > 0)
  {
   foreach (GatewayIPAddressInformation address in addresses)
   {
    Console.WriteLine(address.Address.ToString());
   }
  }
 }
}

adapter.Name
ネットワークアダプタの名前を取得
例)ローカル エリア接続

adapter.Id
ネットワークアダプタのID
例){A32F1F13-1CBD-4300-ADE6-D3AEA1426A52}

adapter.OperationalStatus
ネットワーク接続の現在の操作状態を取得
例)Up

adapter.Speed
ネットワークインターフェイスの速度を取得
例)100000000

adapter.Description
インターフェイスの説明を取得
例)Broadcom NetXtreme 57xx Gigabit Controller – パケット スケジューラ ミニポート

11,765 views