I (a DirectShow gibi) otomatik olarak sağlar LibraryOynatırken medya dosyasının bindirilmesi için herhangi bir yöntem var mı?
Ben pencere masaüstünün çizim kolu kullanarak çizmek için bir yol kullanılır kullanmadan medya dosyasına altyazı eklemek istediğiniz, ama işe olamazdı. Bence güncelleme hızı yüzünden ... doğru mu? Neyse, bir medya dosyasını boyamak veya bindirme tutamaçlarını almak için herhangi bir işlev veya yöntem var mı?
[DllImport("user32.dll")]
static extern IntPtr GetDesktopWindow();
[DllImport("user32.dll")]
static extern IntPtr GetDCEx(IntPtr hwnd, IntPtr hrgn, uint flags);
[DllImport("user32.dll")]
static extern IntPtr ReleaseDC(IntPtr hwnd, IntPtr hdc);
public void SubtitleDraw()
{
IntPtr hWnd = GetDesktopWindow();
IntPtr hDc = GetDCEx(hWnd, IntPtr.Zero, 1027);
Font font1 = new Font("Times New Roman", 24, FontStyle.Regular,GraphicsUnit.Pixel);
Point pt = new Point(40, 375);
PointF pointF1 = new PointF();
pointF1 = PlayerForm.ActiveForm.PointToScreen(pt);
Graphics g = Graphics.FromHdc(hDc);
g.DrawString(SubtitleText, font1, Brushes.Black, pointF1);
ReleaseDC(hWnd, hDc);
}
Gerçek medya oynatmanın, yanıt vermeden önce nerede oluştuğunu açıklayabilir misiniz? Başvuru formlarınızdan birinde mi yoksa başka bir süreçte mi? Soruyorum çünkü açıklama ve kod biraz çelişkili görünüyor. DirectShow gibi bir kitaplık kullanmak istemediğiniz için başvuruda bulunursunuz, yine de formlarınızdan birinde oynatımın gerçekleşmesi anlamına gelen koordinatlar için bir form mu arıyorsunuz? Eğer öyleyse, masaüstü tanıtıcının kendisini yakalamaya gerek yoktur. – Frostie
Kullandığım medya oynatma, DirectX'in AudioVideoPlayback öğesinde bulunur. Oynatmayı ima etmek benim formumun dışında ... sadece kontrol panelini sitenin sahibi olarak kullandı. Aslında, süreç ile oynatımların formu arasındaki ilişkiyle ilgili cevapları anlayamadım (becoz Im a acemi). –
Belki "WPF" ve "Adorner" sözcüklerini aramak size yardımcı olabilir? – juFo