WPF MediaElementを使用して、System.IO.Streamオブジェクトからストリーミングビデオを再生することはできますか? Streamオブジェクトは、メディアファイルを格納するWCFサービスから取得されています。MediaElementを使用してストリームからビデオを再生する
答えて
http-URL (GET)
経由でWCFにメディアオブジェクトを配信させることができる場合は、そのURLをMediaElement.Source
プロパティに割り当てることができます。http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.source.aspxを参照してください。そのようなURLは可能/利用できない場合の
:ストリームを割り当て
は現在可能ではない - それはhttp://social.msdn.microsoft.com/forums/en-US/wpf/thread/6191ef1a-0010-4294-a5b4-451bbadca33a/とhttp://jmorrill.hjtcentral.com/Home/tabid/428/EntryId/15/WPF-Hackery-Part-I.aspxを参照のDirectShowベース例えば、実現するために、いくつかのハッキングがありますが。
別のオプションは何とかSilverlight MediaElement
をホストし、ストリームを取り、それを再生することができますSetSource
方法を用いることであろう... http://silverlightviewport.codeplex.com/SourceControl/list/changesetsとhttp://msdn.microsoft.com/en-us/library/cc190669%28v=vs.95%29.aspx
を参照してください私は、これはあなたが求めていますが、できるものではありません知っていますWPFのウィンドウ内にVLC ActiveXコンポーネントをホストし、そのVLCコントロールを使用してストリームに接続し、ストリームを表示します。これが私がWPFでストリーミングをしている様子です。
編集:this page has an example of how to host an ActiveX control inside WPF
誰もが自分自身のためにこれを見つける時間を浪費する前に:それはWPFアプリケーションでのSilverlightのMediaElementをホストすることは不可能です。その理由は、同じ名前と同じ名前空間を持ちますが、異なる種類のPresentationFramework.dll(WPFでは避けられない)とSystem.Windows.dll(Silverlightバージョン)に表示される多数の種類の1つです。 (誰かがMicrosoftに名前空間を持っている理由を説明する必要があります)
これは本当です。残念ながら、私はこれを難しい方法で見つけなければなりませんでした。 : – rafale
これは1年前の回答ですが、 "同じ名前空間に同じ名前の複数の異なる型"ではありません。 –
Silverlight Webサイトを作成し、そこにMediaElementを使用することは常に可能です –
回答が遅れている可能性があります。
はい、WPFメディア要素を使用してメモリストリームからビデオを再生できます。
私は、BoxedAppに万のおかげで箱入りのアプリと呼ばれるサードパーティのコンポーネントを使用していた - http://www.boxedapp.com/boxedappsdk/
私はそれが[]バイトのために動作させるためのコードをほんの少しを更新する必要があります。以下のコード
public MainWindow()
{
BoxedAppSDK.NativeMethods.BoxedAppSDK_Init();
InitializeComponent();
}
private void button2_Click(object sender, RoutedEventArgs e)
{
var MyFileStream = new CustomFileStream(File.ReadAllBytes(@"wildlife.wmv"));
IntPtr ptr = BoxedAppSDK.NativeMethods.BoxedAppSDK_CreateVirtualFileBasedOnIStream(
@"1.wmv",
BoxedAppSDK.NativeMethods.EFileAccess.GenericWrite,
BoxedAppSDK.NativeMethods.EFileShare.Read,
IntPtr.Zero,
BoxedAppSDK.NativeMethods.ECreationDisposition.New,
BoxedAppSDK.NativeMethods.EFileAttributes.Normal,
IntPtr.Zero,
MyFileStream);
using (new SafeFileHandle(ptr, true))
{
mediaElement1.Source = new Uri(Path.GetFullPath("1.wmv"));
mediaElement1.LoadedBehavior = MediaState.Manual;
mediaElement1.Play();
}
}
を
public CustomFileStream(byte[] data)
{
_Stream = new MemoryStream(data);
_Length = _Stream.Length;
_data = data;
_Offset = 0;
}
BoxedApp
からCustomFileStreamクラスに以下のコンストラクタをコピーしてWPFアプリケーションを作成し、メディア要素とボタンを追加し、コピー - 箱入りアプリのためのサンプルを追跡し、それはだてくださいあなたは幸せな世界にいます...QT Playerでも同じことです。
回答に基づいて、提供された情報が十分でない場合は完全な例を追加します。
コーディング....
偉大な答え、ありがとう! – Mafii
をWPFのMediaElementのは、内部的にWindowsメディアプレーヤーを使用しているのでハッピー。メディアプレーヤーのバッファ設定をデフォルトのバッファ設定からカスタムに変更した場合。ウィンドウズメディアプレーヤーツールオプションパフォーマンスを開きます。
「バッファ」オプションを選択し、「コンテンツの秒数」を2に設定すると、次のレジストリ値がメディアプレーヤーに追加されます。 ます。HKEY_CURRENT_USER \ Software \ Microsoft \ MediaPlayerの\プ UseDefaultBufferTime = 0 CustomBufferTime = 2000
あなたが変更を加えることDOTNETレジストリクラスを使用することができます。 このリンクを参照してください: https://social.msdn.microsoft.com/Forums/vstudio/en-US/1b4b8fb9-ff8f-4861-8e99-4a7a4fc75596/setting-windows-media-player-properties-in-wpf?forum=wpf#ac879a7f-37bc-4ccc-854d-ab6e047086e5
- 1. WPFのMediaElementはストリームからビデオを再生しますか?
- 2. MediaElementを使用してビデオを再生する
- 3. MediaElementを使用して、ビデオをビデオチャンクでストリームする方法
- 4. ストリームWP7からオーディオを再生していないMediaElement
- 5. Xaml MediaElementはインターネットからの.movビデオを再生しません
- 6. ビデオ再生HTTPストリーム
- 7. MCIを使用してメモリからaviストリームを再生する
- 8. Windows Phone 7とMediaElementを使用してMP3を再生する
- 9. MediaElementを使用してビデオを再生するたびにテキストブロックにテキストを表示します。
- 10. gstreamerを使用してローカルソケットからH264ストリームを再生
- 11. AVPlayerを使用してビデオを再生
- 12. MediaElementリピート再生
- 13. sdp sessionを使用してストリームを再生しますか?
- 14. ソケットを使用して内蔵デバイスからRTPストリームを再生する
- 15. ジュークボックスを使用してストリームから音楽を再生する - Swift、IOS
- 16. html5を使用してビデオとオーディオを再生しますか?
- 17. iPhone SDKを使用してePubからビデオを再生するには?
- 18. C#のUWPアプリを使用してWebカメラからビデオをストリーム
- 19. HTML(4)/ Javascriptを使用してビデオ再生リストを再生する
- 20. アプリケーションキャッシュディレクトリからビデオを再生
- 21. データチャンクからビデオを再生
- 22. ビデオbyteArrayストリームを再生できるフレックスビデオプレーヤーはありますか?
- 23. libvlcを使用してRTSPストリームを再生するには
- 24. libstreamingからrtspストリームを再生する
- 25. ストリームラインからMediaPlayer再生ビデオを使用できますか
- 26. MCIデバイスを使用してmp4ビデオを再生する方法
- 27. Javaを使用してビデオを再生するには?
- 28. Androidで外部メディアプレーヤーを使用してビデオを再生する
- 29. Microsoft DTV-DVDビデオデコーダを使用してH264ビデオを再生する
- 30. Swift:AVPlayerを使用してFacebookビデオを再生する
VLCをActiveXコンポーネントとして実行しているWPFアプリケーションの例はありますか?私は実際にそれをやる前に、それがどのように見えているのか、それを実行するのに何が関係しているのかを見たいと思います。 – rafale
こんにちはStuartさん、VLCを使用してあなたのサンプルをどこかに投稿して見せることができますか?ありがとう。 –