C#からニコニコ動画の動画をダウンロードしたい。
いくつかライブラリが公開されているけれど、お勧めで使いやすいのはこの「NicovideoUtil」です。
ソースはGithubにあります。
コンテキストメニューの「Paste」などを「貼付け」に変更したい。
解消法
<プロジェクト名>/build/iphone/Info.plistを開く。
Localization native development region を Japanへ変更する。
これで日本語仕様になる。
ビルドの度書きかわるので、別な方法を考える必要があります。
Windows Phone Developer Tools7.1インストールして、HelloWorld的ななにか。
サクっとWindows Phone Developer Tools7.1をインストールした。
VisualStudioなので、テンプレートを使用する。
「Windows Phone Application」を選んでいつものごとく「CTRL+F5」を行うと起動する。
Windowsアプリケーションと同じで、Toolboxからボタンとイメージをドラッグアンドドロップを行う。
ソリューションエクスプローラに画像ファイル(png、jpgなど)を追加。
ボタンをダブルクリックして、イベントを追加。
Image myImage = new Image(); myImage.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("/PhoneApp1;component/Images/photo_6.png", UriKind.RelativeOrAbsolute)); image1.Source = myImage.Source;
透過PNGも対応。
感想
メインソースファイルが、たったこれだけ。
.Net1.1に感じた、Win32APIからの移行を感じます。
正直、驚きました。
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; namespace PhoneApp1 { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { Image myImage = new Image(); myImage.Source = new System.Windows.Media.Imaging.BitmapImage(new Uri("/PhoneApp1;component/Images/photo_6.png", UriKind.RelativeOrAbsolute)); image1.Source = myImage.Source; } } }
Tableviewデータを空にして渡したら、正しく表示されない問題について。
エラー症状
Windowにデータが空っぽ(null)のTableviewを入れて起動したら、
こんな表示になりました。
var table_rows = null; var tableview = Titanium.UI.createTableView({ data: table_rows, allowsSelectionDuringEditing:true, editable:true }); win1.add(tableview);
対処法
//データ配列にとりあえず適当なダミーデータを入れる。 var table_rows = [{title:''}]; var tableview = Titanium.UI.createTableView({ data: table_rows, allowsSelectionDuringEditing:true, editable:true }); win1.addEventListener('open', function() { //win1が開いたときに、配列にからっぽにする。 table_rows=null; //tableview.dataに配列をいれる。 tableview.data = table_rows; }); win1.add(tableview);
ちなみに、
var table_rows = [{title:''}];
を入れるだけでも、似た表示になるけれど、ダミーデータがあるので
クリックできたりしてしまいます。だから、open時に消すんだ。
ふとしたこと。
先日、J-waveのピストン西沢さんがリスナー投票企画にて、
投票数が少なくなったと話していたんだが、
それは、ラジオの聞き方の変化したことにより、投票受付時間が短くなってしまったことが原因ではないだろうか。
とか考えてしまう。
例えば、radiko.jp。
これは、PC上で聞いている場合はラジオで聞いている時と、さほど大きな時差が生まれない。当環境下では5秒前後である。
それが、iPhoneのradikoでは、ラジオを一時的にバッファとして保存され、再生が途切れない様にされている。
設定から、15秒から3分まで指定でき、その結果ラジオで聞いている時と放送が大きくズレてしまい、
radikoで投票開始がされる頃には、投票が締め切られているのだ。
ラジオ機器よりは、携帯電話のradikoなどの代替方法で聞いていることが増えてきたと思うので、
番組制作側は今までとは別な形をとっていくことを望む。
実際には、iPhoneでツイートしたとき、話題がずれたときに気がついたんだよね・・・。