0

FMLE = フラッシュ ライブ メディア エンコーダー 3.0

この質問をAdob​​e Forumに投稿しましたが、そのフォーラムにプログラミング経験のある人がいるかどうかはわかりません。

私は、ビデオ キャプチャおよびオーディオ キャプチャ デバイスを作成する開発者です。デバイスは、他のエンコーダーで既に動作しています。デバイスは directshow で書かれています。FMLE と統合していますが、この問題が発生しました。

オーディオ デバイスには、FMLE で使用できるボリューム バーがありません。FMLE エラーは、「The selected audio device "censored (company secret)" does not allow setting volume intensity. Disableing the volume slider control.」 です。

私のオーディオ デバイスは、標準の directshow フィルター インターフェイスと共にこれらのインターフェイスを実装します。

  • IBasicAudio
  • IAMAudioInputMixer

queryinterface にトレースポイントを配置し、FMLE クエリを見つけました (コメント文字列内のコメント)

  • {IID_IUnknown}
  • {IID_IPersistPropertyBag}
  • {IID_IBaseFilter}
  • {IID_IAMOpenProgress}
  • {IID_IAMDeviceRemoval}
  • {IID_IMediaFilter}
  • {IID_IAMBufferNegotiation}
  • {IID_IAMStreamConfig}
  • {IID_IPin}
  • {IID_IReferenceClock}
  • {IID_IMediaSeeking}
  • {IID_IMediaPosition}
  • {IID_IVideoWindow} // WTF ?? クエリ ビデオ ウィンドウ ?
  • {IID_IBasicAudio}
  • {2DD74950-A890-11D1-ABE8-00A0C905F375} // これは非同期ストリームだと思います。

私は何が欠けていますか? FMLE は IAMAudioInputMixer を使用しませんか? FMLE がボリューム強度に使用する正確なインターフェイスを知っている人はいますか? . .IBasicAudio だと思っていたのですが、メソッドを呼び出していないようです。

4

1 に答える 1

0

Adobe フォーラムの Ram Gupta による回答。

"FMLE は CLSID_AudioInputMixerProperties インターフェイスを照会しません。FMLE は、(EnumPins を使用して) オーディオ ソース フィルターのすべてのピンを列挙し、QueryPinInfo 関数を使用して各ピン情報を抽出します。

FMLE は、(QueryPinInfo を使用して) PINDIR_INPUT の方向のオーディオ フィルター ピンを検索し、IAMAudioInputMixer インターフェイスをクエリして、音量レベルを設定します。

次の関数が適切に実装されているかどうか確認してください -->get_enable: パラメータ値を true に設定する必要があります。-->put_MixLevel -->QueryPinInfo:"

このソリューションは機能しました。私の問題は、入力ピンを宣言したことがないためです(directshow関連の入力がないため)。

于 2011-03-31T23:20:11.323 に答える