2016-05-31 9 views
-1

USBドライブから暗号化された音楽やビデオを読み込み、ストリームとしてそのストリームを復号化してmp3プレーヤーに送信する必要があります。Windows Media PlayerとC++のストリーム

私はすでにUSBからファイルを読み取り、その場で復号化することができますが、今はWindows Media Player(WMP)のようにチャンクされたデータをどこかで再生する必要があります。

WMPには音楽/ビデオソースへのURLが必要です。そのため、メモリにストリームを作成し、そのストリームをWMPにURLとして渡します。その後、WMPがストリームからの読み込みを開始すると、何らかの形で私の関数が呼び出され、USBからデータを読み込み、解読してWMPで再生されるストリームに配置します。

誰でもURLストリームを作成する方法を知っていて、ストリームがデータを必要としているときに通知を受け取ることはできますか?

私はVisual C++ MFC/Win32を使用しています。

おかげ

+0

[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。最終結果は何ですか?あなたはこのタイプの暗号化された音楽のためのプレーヤーを作ろうとしていますか?あなたはこのタイプのファイルを再生するためにWindows Media Player(またはシステム上の他のプレイヤー)を設定しようとしていますか? [その他](https://msdn.microsoft.com/en-us/library/windows/desktop/aa369729.aspx)[options](https://msdn.microsoft.com/en)を見ましたか? -us/library/windows/desktop/ms700168.aspx)[利用可能](https://msdn.microsoft.com/en-us/library/windows/desktop/hh828986.aspx)? – theB

+0

Visual C++アプリケーションのダイアログボックスにWindows Media Player ActiveXコントロールを埋め込んでいますが、URLからしか再生できないようですが、mp3ファイルの解読されたデータストリームしかありません。誰かがそれを盗むことができるので、ファイルをストリームとして再生しなければならないので、ファイルをディスクに書き込むことはできません。ファイル全体をメモリに読み込むと、ファイル全体を読み取って解読するのに最大15秒かかります。同時に解読して再生するほうがよいので、ファイルを再生するのを待つ必要はありません。だから私はメモリからのストリームを使用して再生する方法を知る必要があります – user5199516

+0

@ user5199516同様のトピックがありました。 http://stackoverflow.com/questions/18353278/video-encryption-for-local-softwareおよびhttp://stackoverflow.com/questions/30940230/how-to-play-encrypted-video-file-using-windowsmediaplayer/ 32026471およびhttp://stackoverflow.com/questions/12405635/play-videos-from-memory-stream –

答えて

0

WMPは、ファイルデータを配信するファイルまたはHTTP(S)URLの名前を指定できURLが必要です。あなたのケースでは、HTTPオプションが良い選択と思われるので、データが必要なときに通知を受け取ります。これを行うには、小さなHTTPサーバーを、好ましくはephemeralポートに実装する必要があります。そのため、音楽ファイルをメモリに保存し、HTTPサーバーを設定してファイルデータを配信します。たとえば、URLはhttp://127.0.0.1:5432/MusicFile.mp3のようになり、WMPに指定します。 Webサーバーはファイルの要求を受け取り、送信を開始することができます。

メモとして、(非永続化された)メモリマップファイルを使用することも有効です。ただし、通知する必要があることを示しているだけで、データを配信できるかどうかはわかりません。

関連する問題