kazuakix の日記

Windows Phone とか好きです

Windows Phone 8 の FM ラジオを使う

マイクロソフト コミュニティの Windows Phone フォーラムで FM ラジオに関する質問が投稿されていたので調べてみました。


周波数が限られている事情

FM ラジオの周波数は世界的には 87.5 ~ 108.0MHz が主流ですが、日本では 76.0 ~ 90.0MHz が使用されています。

おそらく Lumia 520 は世界標準の周波数範囲を受信できるように作られているんだと思います。なので ラジオの設定で "日本" を選ぶことはできますが、上が制限されるだけで下は 87.5 のままになるのではないかと。

コードで調べてみる

「でも実はアプリで制限してるだけなんじゃね?」という事でプログラムから周波数を変更してみました。

FM ラジオの制御は FMRadio クラスで行います。使い方はこんな感じ。

var r = FMRadio.Instance;
r.CurrentRegion = RadioRegion.Japan;
r.PowerMode     = RadioPowerMode.On;
r.Frequency     = 87.5;

電話独自機能になるので、Windows ランタイムではなく、Silverlight アプリとして作ります。

休日だったので意味もなく画面 (といっても 1 画面だけ) を作ってみました。

f:id:kazuakix:20141103221649j:plain,w240

このアプリを実機 (Lumia 925) にデプロイして 87.5MHz 以下の周波数をセットしたところ、ArgumentException が発生しました。
ちなみにエミュレーターだと 0 以上であれば例外を投げてきません。やはりハードウェア的に対応していないみたいですね。
今後 IS12T のような国産機が出てくることを期待しましょう。

 
テスト用に作ったアプリですが、練習で GitHub にあげてみました。

画面 1 枚だけなので何の参考にもなりませんが よろしければ実機でお試しください。