音声ファイルから動画ファイルを作成する(9) – Windows Store Appだと制限が多いな・・

公開:2013-12-04 21:34
更新:2017-07-29 13:17
カテゴリ:windows store apps,media foundation,音声動画出力プログラム,c++,windows,audio,windows api

IMFSinkWriter::GetServiceForStreamで取得できるインターフェースだが皆目見当がつかない。IMFMediaSinkとかIMFTransformとかICodecAPIとか試してみたが皆ダメだ。ICodecAPIなどはインターフェースそのものがWindows Store Appでは未定義と同じ扱いになってしまっている。ヘッダーファイルを見るとDesktopリージョンとなっている。MSのドキュメント上ではWindows Store Appでも利用できるインターフェースなのだが。ICodecAPIが取得できないとエンコーダーのパラメータがいじれないように思うが他に方法はあるのだろうか。Windows Store Appだと既存のPropertyStoreの読み込み・編集しかできず新規作成ができない。デスクトップだとできるのだが。

セキュリティやらタブレットとかの対応のために制約をかなりかけているという感じがする。デスクトップに比べてWindows Store AppのAPIは機能不足というか、デスクトップでは当たり前にできてセキュリティ的にも問題なさそうなものもできない気もする。WinRTへの移植が進んでいないだけとか、実装が追い付いていないとか、そんな部分も垣間見える。WinRTはまだまだこれからなのだろうと思うが、以前当たり前のようにできていたことができないのはいただけない。

技術的に尖ったところもないのも痛い。Windows Store Appがいまいち盛り上がらないのもそのあたりに原因の一端があるのではないかな。 昔のWindowsは他の先鋭的な技術を模倣していたようにも思えるけども、そこにはMSらしい風変わりな味付けというか、機能的に尖ったものを感じさせる改良が施されていたように思う。もちろん改悪部分もあるわけだが。

私のようにレベルの低い趣味プログラマでもWindows8.Xの設計はかなり大きな失敗を冒しているように感じる。なんというかどっちつかずなのである。二兎を追う者は一兎をも得ずというか。その失敗はWindowsの終焉を感じさせるものである。近い将来他のOSに乗り換える必要性が出てくるかもしれない。

それはさておき、元々自由度の低いAPIがさらにセキュリティやタブレット対応の名のもとに制約を私に課してきてもう面倒くさいので、UI支援がないのは惜しいがデスクトップアプリで作り直すことにしようと思う。そのほうがストレスがなくていい。