3

サウンドの録音と再生を含む VSTO PowerPoint アドインに取り組んでいます。最後の最後に、Skype のようにサウンドを再生するデバイスをユーザーが選択できるようにするように要求されました。

一般に、コントロール パネルで既定のデバイスを選択する以外に、PowerPoint で使用するデバイスを指定することはできないと思いますが、これはプログラムで行うことはできません。ただし、アドインが録音したサウンドは、タグ付けしたシェイプに SoundEffect として埋め込まれているため、認識できます。

私の質問は: .wav ファイルに直接アクセスすることは可能ですか? SoundEffect.ImportFromFileと同等のものですが、逆方向ですか? それができれば、PowerPoint ではなく、アドイン コードを使用して .wav ファイルを開いて再生できます。

[編集: 直接とは、「プレゼンテーションを別の形式で保存する必要がない」ことを意味します]

または、バイナリ ファイルをプレゼンテーションの埋め込みコンテンツとして追加および取得する方法はありますか?

これは不可能だと思いますが、誰かが知っていれば、StackOverflowでその人を見つけるでしょう!

4

1 に答える 1

4

どちらも可能です。

  1. PPTX から WAV を抽出: すべての埋め込みメディアは .pptx\ppt\media フォルダーにあります (.pptx を .zip に名前変更し、解凍して \ppt\media に移動します)。通常は、追加および/または処理された順に番号が付けられます。私の知る限り、ナレーションは常に埋め込まれており、リンクされることはありません。問題は、抽出する正確なものを特定することです.pptxに追加するときにタグまたは他の一意の識別子を追加することで対処できます. それを抽出する方法は、Open XML SDK (または単に System.IO.Packaging を直接) を使用して、現在のプレゼンテーションのメモリ内コピーを開き、.wav フォルダーを見つけます (私は Linq-to-XML を使用して必要なものを見つけて、ディスクに書き込んで再生するか、アドインがメモリ ストリームから再生できる場合は、それをメモリ ストリームに読み込みます。

  2. PPTX のバイナリ型: 何でも Open XML ドキュメントに入れることができますが、そこにとどまらせることが重要です。詳細については、この回答を参照してください - Word 文書にデータを追加することは可能ですか? .

于 2010-08-24T00:42:53.193 に答える