ObservableVoiceCaptureをリリースしてみました。
この度
ObservableVoiceCaptureというライブラリをnugetにリリースしました。
現在のバージョンは0.0.2です。まだ破壊的な変更をするかと思います。
このライブラリは.NET4.5以上、Xamarin.Android、Xamarin.iOSで利用することができます。
にて管理を行っています。
どんなライブラリ?
音声をキャプチャしたり再生したりできます。
.NET45版ではNAudio
を使用して音声データの入出力を行っています。
Xamarin.Android版ではNativeのAudioRecoed/AudioTrackを使っています。
Xamarin.iOS版ではInputAudioQueue/OutputAudioQueueを使っています。
PCMデータをbyteの形で取り扱う非常に低レベルなライブラリです。
特徴は?
インターフェースが全プラットフォームで共通になっています。
サウンドキャプチャはIObservable<byte>でサウンド再生はIObserver<byte[]>になっていて非常にシンプルです。
現時点ではXamairn Pluginの形で提供されていないのですが、近日中にXamarin Pluginに対応しようと思っています。
要するにXamarin Formsで低レベルなオーディオインターフェースをPCL上にて扱えるということになる予定です。
サンプルは?
すいません。間に合っていません。そのうちサンプルアプリを作ろうと思います。
コードのイメージはこんな感じです。
キャプチャしたPCMデータを1000msecディレイさせてそのまま再生させる例です。
実際に動かすとむっちゃハウリングします(^◇^)
割と簡単にPCMデータのやり取りを行えるようにしているつもりです。
どんなことに使えるの?
これ単体ではあんまり使い道がないかもしれません。
このライブラリは私が今作ろうとしている物の一部をライブラリ化したものです。
PCMデータをエンコードしてネットワーク経由で送信して受信してデコードして再生するとVoIPになったりします。
要するに単体では使えん(^◇^)
ということです。