3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

オーディオコーデックの優先順位変更

Windows7 RC の Windows Media Player12 で、ある動画ファイルを再生しようとすると音声がノイズに。。

音声形式は AC3 です。

で、Media Player のプロパティから今使ってるコーデックを調べると ArcSoft Audio Decoder となっていました。

ffdshow をインストールしてたので、そっちを使うように優先を変えたかったんですが、XP のようにコントロールパネルのサウンドからはできませんでした。(というよりその項目ありませんでした。)

ArcSoft Audio Decoder も ffdshow も正確には Direct Show Filter 経由で呼び出されているようです。

Windows Media Player12 のテクニカルサポートで Direct Show フィルターをみると下記のようになっていました。

Windows Media Player

バージョン12.0.7100.0

オペレーティング システム

バージョン: 6.1.7100 システム ロケール: ja-JP

Service Pack: 0.0 ユーザー ロケール: ja-JP

ビルド環境: 7100.winmain_win7rc.090421-1700 地域 ID: Japan

種類: Workstation DRM バージョン: 11.0.7100.0

アーキテクチャ: x86 Indiv バージョン: 2.5.0.0

プロセッサ: 2

MPEG/DVD フィルター

種類 名前 バイナリ バージョン

video ffdshow Video Decoder ffdshow.ax 1.0.5.2033

video ArcSoft Video Decoder ASVid.ax 2.25.138.58

video Microsoft DTV-DVD Video Decoder msmpeg2vdec.dll 6.1.7075.0

video CBVA DMO wrapper filter cbva.dll 6.1.7100.0

audio ffdshow Audio Decoder ffdshow.ax 1.0.5.2033

audio Microsoft DTV-DVD Audio Decoder msmpeg2adec.dll 6.1.7075.0

audio ArcSoft Audio Decoder ASAudio.ax 1.3.2.3

Direct Show Filter に登録されているデコーダにも優先度あるらしくメリット値と呼ばれてるらしいです。

このメリット値が大きいほど優先的に使用されるようです。

で、変更する方法ですがDirectShow Filter Toolというツールを使うと簡単に調整できます。

確かにこれで調整すると、ちゃんと ffdshow のほうが使われるようになり、音が出るようになりました。

参考:

Media Player11が突然再生できなくなりましたOTL