「自分の為のメモ帳」ご利用は自己責任で!、↓↓↓記事・ツール等へのコメントは一括して掲示板へお願いします

やります!アンコちゃんで接続した放送が放送中か判定するには

  • アンコちゃんで今選択されている放送の情報は
「_host.CurrentCast」で取得できる
変数は「LibAnko.broadcast」型
  • タイムシフトにつないでいるかは
_host.CurrentCast.archiveで取得できる
変数は「int」型で「1」の時はタイムシフト
  • 放送終了時間は
_host.CurrentCast.end_timeで取得できる
変数は「int」で「ユニックス時間」
UNIX時間(ユニックスじかん)とは
協定世界時(UTC)での1970年1月1日真夜中(午前0時0分0秒)からの経過秒数
※ウィキペディアより(2012/12/31抜粋)

現在時間をユニックス時間で取得するには
下記のメソッドをDateTime.Now引数で呼べば戻り値で帰ってくる
public readonly static DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static long ToUnixTime(DateTime dateTime)
{
    if (dateTime.Kind != DateTimeKind.Utc)
    dateTime = dateTime.ToUniversalTime();

    return (long)dateTime.Subtract(UnixEpoch).TotalSeconds;
}
参照
smdn:総武ソフトウェア推進所より(2012/12/31抜粋)
http://smdn.jp/programming/netfx/tips/convert_unixtime_into_datetime/

DateTime.Nowは
コンピュータ上の現在の日時を現地時刻で表したDateTimeオブジェクトを取得する
参照
Microsoft Developer Network(msdn)より(2012/12/31抜粋)
http://msdn.microsoft.com/ja-jp/library/system.datetime.now%28v=vs.80%29.aspx
以上をふまえて放送中かを取得するには
以下のIsOnAirメソッドを呼べばbool値で判定できる
bool IsOnAir()
{
    LibAnko.broadcast broadcast = _host.CurrentCast;
    if (broadcast != null)
    {
        if (broadcast.archive != 1)
        {
            if (ToUnixTime(DateTime.Now) < broadcast.end_time)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        else
        {
            return false;
        }
    }
    else
    {
        return false;
    }
}

public readonly static DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
public static long ToUnixTime(DateTime dateTime)
{
    if (dateTime.Kind != DateTimeKind.Utc)
    {
        dateTime = dateTime.ToUniversalTime();
    }

    return (long)dateTime.Subtract(UnixEpoch).TotalSeconds;
}
(上級者?用に)コードが長くなったので短くしてみた
bool IsOnAir()
{
    bool isonair = false;
    long NowUnixTime = (long)DateTime.Now.ToUniversalTime()
        .Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc))
        .TotalSeconds;
    LibAnko.broadcast broadcast = _host.CurrentCast;
    if (broadcast != null)
        if (broadcast.archive != 1)
            if (NowUnixTime < broadcast.end_time)
                isonair = true;
    return isonair;
}

wikiチェック日

wiki主のwikiをチェックした日
(コメント・掲示板・ランキング等)

●2014/07/28
●2014/04/15
●2014/03/22
●2014/03/16
●2014/02/25
(直近5日)

※連休が続く時は
 見ていない場合が多いです
※最終日よりあまり日が長い場合は
 掲示板等の返信が遅れる・
 返信がない場合があります
※wikiを更新した日ではありません

メインメニュー

条件分枝文
繰返文
  • for文
  • while文
  • foreach文
  • goto/break/continue

作ったーツール紹介

その他

  • 記事なし

ニコニコ生放送用
コメントビューア

アンコちゃんプラグイン

(スクリーンショットと設定text内容のみ)

NCVプラグイン

(スクリーンショットと設定text内容のみ)
プラグイン作成
NCVα127より.NETframeworkが4.0になっています ↑手順6)の対象のフレームワークを.NET Framework 4.0に

アップローダー

作ったツールがアップされています
プログラムの試作
パスはそれぞれのコメントへ
※ほとんど日付です
ツールへの質問は当wiki掲示板へ

管理人/副管理人のみ編集できます