Blog


MediaCaptureで音声を録音するには

初期化

WindowsRuntimeで録画、録音するにはMediaCaptureを使います。

DeviceInformationCollectionからオーディオキャプチャデバイスを取得し、MediaCaptureのInitializeAsyncメソッドで初期化を行います。

その際、MediaCaptureInitializationSettingsクラスでオーディオデバイスのIDを渡します。

 

録音開始

StorageFileにWavファイルとして保存する場合は、MediaCaptureのStartRecordToStorageFileAsyncメソッドにMediaEncodingProfileクラスのCreateWavメソッドを渡します。

この命令が実行されたあと、録音開始まで少し時間が空きます。

 

録音終了

録音を終了するには

MediaCaptureのStopRecordAsyncメソッドを呼びます。

 

マニフェストファイルの編集

今回はミュージックライブラリとマイク、Webカメラは使いませんがチェックしないとMediaCaptureを初期化できないためチェックします。

11




ボタンを追加する

Button

Xamarin.Androidでボタンコントロールを追加するには.axmlファイルを開いてToolBoxからボタンを画面にドラッグアンドドロップします。

プロパティウインドウからidを@+id/button1としましょう。

スクリーンショット 2014-12-13 0.07.02

 

次にMainActivity.csファイルからボタンを参照します。

FindViewByIdメソッドを使ってButtonを取得します。引数に先ほどidプロパティに指定した文字列が指定できます。

idプロパティに指定した文字列が出ない場合ビルドしなおしてください。

ボタンが取得できたらボタンのイベントハンドラとメソッドを紐付けます。

Clickイベントにbutton1_onClickメソッドを追加して、トースト通知を表示してみます。

実行してボタンを押してみるとトースト通知がでます。

hoge2

 

 

サンプルコード




ボタンを追加する

Button

Xamarin.iOSでボタンを追加するにはToolBoxからButtonコントロールをUIに配置します。

.Storyboardの拡張子のファイルを開き、右上のToolboxからButtonコントロールを画面にドラッグアンドドロップします。

スクリーンショット 2014-12-12 0.27.09

 

そしたら右下にあるプロパティウインドウからNameプロパティをbutton1にしましょう。

 

イベントを追加する

ボタンを配置できたら、配置したボタンをダブルクリックします。

すると、ViewContorollerという名前の.csファイルに移動するのでEnterをおします。

新しくbutton1_TouchUpInsideという名前のメソッドが作成されました。

 

そのメソッドの中にUIAlertViewでアラートを表示してみましょう。

ボタンを押すとアラートを表示することができました。
hoge

 

サンプルコード

https://github.com/garicchi/XamarinSample




NFCで近距離無線通信するには

ProximityDevice

WindowsRuntimeのNFCについては、ProximityDeviceAPIを使います。

ProximityDevice.GetDefaultメソッドでNFC通信できるデバイスを取得します。

 

 

近接センサーにデバイスが近づいたときは、DeviceArivedイベントが、近接センサーからデバイスが離れたときはDeviceDepartedイベントが発生します。

DeviceArrivedイベントとDeviceDepartedイベントの登録を行い、各イベントに登録したメソッド内ではデバイスIDとメッセージを表示します。

 

 

実行するときは、マニフェストファイルの、必須条件タブの「NFC」、機能タブの「近接」にチェックを入れます。

1




ファイル検索を行うには

QueryOptions

StorageFolder内のファイルを検索するには、検索条件としてQueryOptionsを指定する必要があります。

 

QueryOptionsはさまざまなプロパティがありますが、今回はApplicationSearchFilerとFileTypeFilterを使います。

ApplicationSearchFilterには高度なクエリ構文(AQS)を指定し、ファイル名検索を行います。

FileTypeFilterはファイルタイプによる検索です。

ファイル名はテキストボックスから受け取った値で、ファイルタイプはjpgとpngを検索してみましょう。

 

検索対象のフォルダはピクチャライブラリとします。マニフェストファイルを編集して画像ライブラリにチェックをいれましょう。

 

StorageFolderのCreateFileQueryWithOptionsメソッドで検索設定を行います。

その後StorageFileQueryResultのGetFileAsyncメソッドを実行することで検索を行います。

ファイル検索ができました。

9