読者です 読者をやめる 読者になる 読者になる

S.F. Page

Programming,Music,etc...

音声ファイルから動画ファイルを生成する(17) – コントロールを描画する部分を考えている

コントロール描画方法を考える コントロールを具体的に描画する方法を考えている。頭の中にあるイメージはこんな感じである。 アプリのスレッドをフックすると親ウィンドウ・子ウィンドウのメッセージはすべて捕まえることができるのでそのうちのWM_PAINTメ…

音声ファイルから動画ファイルを生成する(16) – 描画コードを別クラスに分離した

グラフィックスAPIを抽象化しようとしたけれども、そもそもは描画コードを分離したいだけだった。どこからかグラフィクスAPIを統合・抽象化するという方向に行っていた。おそらくデバイス管理とリソース管理のAPIを見ているうちにやりたくなったのであろう。…

音声ファイルから動画ファイルを生成する(15) – グラフィックスAPIを抽象化する

若干さぼり気味ではあるものの、グラフィックスAPIを抽象化する作業を行っている。今はファクトリ部分を作っているところである。このあたりの抽象化のレベルをどの程度にするかが、非常に悩ましい。実装を進めながら勉強しているので作り直したりクラス名を…

音声ファイルから動画ファイルを生成する(13) – UIラッパーの実装方法を考える

UIラッパーをどう実装しようかなと今日も考えていた。だいたい考えがまとまってきた。フィールはそのままでルックスだけ変えるというところで落ち着こうかなと。下記の方法でやろうかなと。 コントロールはOSでもともと容易されているものを流用することをベ…

音声ファイルから動画ファイルを生成する(12) – UIの実装方法を考える

昨日の午後からUIの実装方法を考えていて、まだ考え中である。最初はトップレベルのウィンドウをフルスクリーンとしてその上にUIを実装していこうかなと思ったけども、入力機器の入力データのUIパーツへのルーティングの処理がとても面倒そうだしできればや…

音声ファイルから動画ファイルを作成する(11) – 環境の整備

環境の整備 デスクトップアプリとして作り直すためにまずは環境をアップデートすることにした。 ベースとなるプロジェクトを作る 過去作りかけて放置しているプロジェクトを再利用することにした。VS2012プロジェクトであればそのまま読み込める。当然ながら…

音声ファイルから動画ファイルを作成する(10) – そういうことでデスクトップで仕切り直すことにしたが。

そういうわけで比較的自由なデスクトップの世界に戻ってきたわけだが、それはそれで面倒なのである。UIをWin32 APIでゴリゴリ書かなくてはいけない。VS2013 Expressエディションではリソースエディタが使えないのでリソースファイルもゴリゴリ書く必要がある…

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

IMFSinkWriter::GetServiceForStreamで取得できるインターフェースだが皆目見当がつかない。IMFMediaSinkとかIMFTransformとかICodecAPIとか試してみたが皆ダメだ。ICodecAPIなどはインターフェースそのものがWindows Store Appでは未定義と同じ扱いになって…

音声ファイルから動画ファイルを作成する(8) – IMFSinkWriter::GetServiceForStreamの使い方がよくわからない

画質向上のためにエンコーダーのパラメータをいじるべく調査を進めていて、SinkWriterの出力エンコーダーの設定のいじり方がなんとなくわかってきた。IMFSinkWriter::GetServiceForStreamでエンコーダーMFTを取得->IPropertyStoreを取得->設定の順で行えばよ…

音声ファイルから動画ファイルを作成する(7) – 波形データをDirect2Dで描画してみた。

ようやくだが、Direct2Dを使ってテクスチャに波形データを表示することができた。でもちょっと手抜きだ。 ソースコード(変更部分) 720p/30FPSなのになぜか画質が悪い。H.264エンコーダの設定に問題があるのかもしれないが、今のところどうすればいいのかわ…

音声ファイルから動画ファイルを作成する(5) – 凡ミスだった。

OpenAsyncでハマっていた例外は、内部的に発生しているものできちんとキャッチされているから障害ではないことがわかった。どうもデバッガの例外オプションで、すべての例外を発生時にブレークするように設定していたために、気にしなくても良い例外までブレ…

音声ファイルから動画ファイルを作成する(5) – StorageFile::OpenAsyncでまだハマっている。

今日もOpenAsyncが出す例外でハマり続けている。今日は下記のコードを書いて試してみた。 create_task(Windows::Storage::KnownFolders::MusicLibrary->CreateFileAsync (L"test.m4v", Windows::Storage::CreationCollisionOption::ReplaceExisting)) .then(…

音声ファイルから動画ファイルを作成する(4) - StorageFile::OpenAsyncでハマっている

FileOpenPickerを使ってWAVファイルを選択してOpenAsyncでファイルを開こうとしている。簡単なコードなのだがよくわからない例外が発生して悩んでいる。 void sfmfMain::OpenFile() { auto openPicker = ref new Windows::Storage::Pickers::FileOpenPicker(…

音声ファイルから動画ファイルを作成する(3)

昨日の話を絵にすると こんな感じになる。ちなみにこれはスクリーンショットにペイントで手書きで追記したものである。ペイントはタッチパネルも考慮しているようである。Windows 8以降のバージョンだけかもしれないが。 昨日は動画テクスチャをプレビュー表…

Media Foundationを使って音声ファイルから動画ファイルを作成する(2)

先週はずっとMedia FoundationのSourceReader/SinkWriterあたりのリファレンスやサンプルコードを観ながら具体的にどう作るかを考えていきつつ、ぼちぼちとコードを書き始めている。ちょっと前にかじっていたはずなのだがすっかり忘れてしまっており、思い出…

音声ファイルから動画ファイルを作成する

Buzzを使って作成途中の曲をYoutubeにアップしているが、静止画像だけでは味気ないので音楽にリンクした動画を自動生成するC++プログラムを作ろうかなと思っている。ちょっと前にMedia Foundationをかじったのだけれどもそのときの感触ではやりたいことはで…