読んでくれてありがとう、m4aオーディオファイルを読むための次のコードがあり、次のステップが何であるかについて少し迷っています。サンプルを取得するには、SampleGrabber を実装する必要があることはわかっています。理想的には、画面の上部にある矢印をクリックすると、シンプルな iTunes ビジュアライザーが行うように、ピークと現在のオーディオ周波数を取得できるようにしたいと考えています。とはいえ、今のところ、グラフに sampleGrabber を追加することと、SampleCB を呼び出すことについて主に心配しています。ここに私のグラフの構築があります:
public class Player
{
private IGraphBuilder graphbuilder;
private IMediaControl imc;
private IMediaEventEx imex;
private IMediaPosition imp;
private IBasicAudio iba;
private ISampleGrabber isg;
public Player(string file)
{
graphbuilder = (IGraphBuilder)new FilterGraph();
graphbuilder.RenderFile(location, null);
imc = (IMediaControl)graphbuilder;
imex = (IMediaEventEx)graphbuilder;
imp = (IMediaPosition)graphbuilder;
iba = (IBasicAudio)graphbuilder;
}
}
クラスには再生、音量などの他のメソッドがあり、すべてのプロパティを拡張して、アニメーション化可能な WPF スタイルにしました。今は、GraphBuilder のどこに SampleGrabber を追加するのか、それを SampleCB メソッドに渡す方法がわかりません。また、クラス全体を ISampleGrabberCB から継承する必要がありますか? これらのさまざまな組み合わせを試しましたが、何も機能しませんでした...